feat(resolver,graph): fetch and resolve include: remote: HTTPS URLs
release / Build and publish release (push) Successful in 1m14s
release / Build and publish release (push) Successful in 1m14s
Remote includes (include: remote: https://...) were previously skipped silently in the resolver and rendered as unexpanded leaf nodes in the graph. Changes: - fetcher.FetchURL: new shared unauthenticated HTTP GET helper - resolver: resolveRemoteInclude fetches the URL, parses YAML, sets job origin to the URL string, recursively resolves sub-includes, and emits a warning on failure (lint continues on the rest of the pipeline) - graph: recurseRemote fetches the URL, captures direct job names, and recurses into sub-includes so remote nodes expand like local ones Adds testdata/includes_remote.yml fixture. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Vendored
+14
@@ -0,0 +1,14 @@
|
||||
---
|
||||
# Exercises include: remote: URL fetching and sub-include recursion.
|
||||
# The remote file is a real public GitLab CI template; it may contain its own
|
||||
# includes which should also be resolved. Exit code is 0 (warnings allowed).
|
||||
stages:
|
||||
- test
|
||||
|
||||
include:
|
||||
- remote: https://gitlab.com/gitlab-org/gitlab/-/raw/master/lib/gitlab/ci/templates/Bash.gitlab-ci.yml
|
||||
|
||||
local-job:
|
||||
stage: test
|
||||
script:
|
||||
- echo "local job alongside remote include"
|
||||
Reference in New Issue
Block a user