Add test coverage for GitHub Actions YAML 1.2 anchor support #362
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Add comprehensive test coverage to validate that poutine correctly parses GitHub Actions workflows using YAML 1.2 anchors, a feature announced by GitHub in September 2025.
Changes
Test Fixtures
Added three workflow files demonstrating common anchor usage patterns:
anchors_env.yml: Environment variable reuse across jobsanchors_job.yml: Complete job configuration reuseanchors_multiple.yml: Multiple anchor references in a single workflowUnit Tests
TestGithubActionsWorkflowWithAnchors: 7 sub-tests validating anchor parsing in models layerTestGithubWorkflowsWithAnchors: Integration test validating end-to-end workflow scanningTestGithubWorkflowsandTestPurlsto include new fixturesKey Finding
Testing confirms that
gopkg.in/yaml.v3already supports YAML anchors without any code changes. All anchor patterns parse correctly and workflow analysis works as expected.Future Consideration
While the current parser (
gopkg.in/yaml.v3) works well, it is deprecated and no longer maintained. A future PR may consider migrating togithub.com/goccy/go-yamlfor:However, this migration is not urgent since the current implementation already handles the anchor feature correctly.
Testing
Coverage maintained: models (82.1%), scanner (74.0%)
References