-
Notifications
You must be signed in to change notification settings - Fork 5
Sub-workflow versioning feature #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -347,7 +347,12 @@ on: | |||||
| description: 'Report Sonar test coverage and other metrics to Atlassian dashboard (Irfans QA dashboard)' | ||||||
| required: false | ||||||
| type: boolean | ||||||
| default: true | ||||||
| default: true | ||||||
| quality-dashboard-version: | ||||||
| description: 'Version of quality dashboard workflow to use (e.g., main, v1.0.7)' | ||||||
| required: false | ||||||
| type: string | ||||||
| default: 'main' | ||||||
| quality-product-name: | ||||||
| description: 'Product name for quality reporting (Chef360, Courier, Inspec)' | ||||||
| required: false | ||||||
|
|
@@ -734,7 +739,7 @@ jobs: | |||||
| scc: | ||||||
| name: 'Source code complexity checks' | ||||||
| if: ${{ inputs.perform-complexity-checks == true }} | ||||||
| uses: chef/common-github-actions/.github/workflows/scc.yml@main | ||||||
| uses: chef/common-github-actions/.github/workflows/scc.yml@${{ inputs.scc-version }} | ||||||
|
sean-sype-simmons marked this conversation as resolved.
sean-sype-simmons marked this conversation as resolved.
|
||||||
| uses: chef/common-github-actions/.github/workflows/scc.yml@${{ inputs.scc-version }} | |
| uses: chef/common-github-actions/.github/workflows/scc.yml@main |
Copilot
AI
Mar 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uses: for reusable workflows does not support interpolating the ref with expressions. This will not resolve trufflehog.yml at runtime and will fail workflow parsing/execution.
| uses: chef/common-github-actions/.github/workflows/trufflehog.yml@${{ inputs.trufflehog-version }} | |
| uses: chef/common-github-actions/.github/workflows/trufflehog.yml@main |
Copilot
AI
Mar 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uses: for reusable workflows does not support dynamic refs via ${{ }}. This grype.yml@${{ inputs.grype-version }} reference will not resolve; refs must be static.
Copilot
AI
Mar 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uses: refs can’t be built dynamically with ${{ }}. This grype-hab-package-scan.yml@${{ inputs.grype-hab-workflow-version }} call will not resolve as intended.
Copilot
AI
Mar 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uses: for reusable workflows requires a static ref; ${{ inputs.polaris-version }} won’t be expanded here. This will prevent the Polaris workflow from being called.
| uses: chef/common-github-actions/.github/workflows/polaris-sast.yml@${{ inputs.polaris-version }} | |
| uses: chef/common-github-actions/.github/workflows/polaris-sast.yml@main |
Copilot
AI
Mar 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uses: for reusable workflows does not support interpolating the ref with ${{ }}. sbom.yml@${{ inputs.sbom-version }} will not resolve; the ref must be static.
Copilot
AI
Mar 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uses: refs for reusable workflows must be static; ${{ inputs.quality-dashboard-version }} will not be evaluated here. This will break the quality dashboard call.
| uses: chef/common-github-actions/.github/workflows/irfan-quality-dashboard.yml@${{ inputs.quality-dashboard-version }} | |
| uses: chef/common-github-actions/.github/workflows/irfan-quality-dashboard.yml@main |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -6,6 +6,56 @@ This document provides comprehensive information about the security and quality | |||||
|
|
||||||
| ## Pipeline Overview | ||||||
|
|
||||||
| ### Sub-Workflow Versioning | ||||||
|
|
||||||
| **NEW in v1.0.7+**: Each security scan workflow can be pinned to a specific version independently. This allows you to: | ||||||
|
|
||||||
| - **Pin stable versions** that work with your project | ||||||
| - **Update incrementally** - test one scan at a time | ||||||
| - **Avoid breaking changes** - stay on known-good versions | ||||||
| - **Roll back easily** - revert specific scans if needed | ||||||
|
|
||||||
| **Version Control Strategy:** | ||||||
|
|
||||||
| ```yaml | ||||||
| # Example: Mix stable and latest versions | ||||||
| jobs: | ||||||
| ci: | ||||||
| uses: chef/common-github-actions/.github/workflows/ci-main-pull-request.yml@v1.0.7 | ||||||
| with: | ||||||
| # Production-critical scans: pin to tested versions | ||||||
| trufflehog-version: 'v1.0.7' | ||||||
| polaris-version: 'v1.0.7' | ||||||
| sbom-version: 'v1.0.7' | ||||||
|
|
||||||
| # Non-blocking scans: use latest | ||||||
| scc-version: 'main' | ||||||
| grype-version: 'main' | ||||||
|
|
||||||
| # Your scan configurations... | ||||||
| perform-trufflehog-scan: true | ||||||
| perform-blackduck-polaris: true | ||||||
| generate-sbom: true | ||||||
| ``` | ||||||
|
|
||||||
| **Available Version Inputs:** | ||||||
|
|
||||||
| | Input | Workflow | Default | Description | | ||||||
| |-------|----------|---------|-------------| | ||||||
| | `scc-version` | scc.yml | `main` | Source code complexity | | ||||||
| | `trufflehog-version` | trufflehog.yml | `main` | Secret scanning | | ||||||
| | `grype-version` | grype.yml | `main` | Image/source scanning | | ||||||
| | `grype-hab-version` | grype-hab-package-scan.yml | `main` | Habitat package scanning | | ||||||
|
sean-sype-simmons marked this conversation as resolved.
Outdated
|
||||||
| | `polaris-version` | polaris-sast.yml | `main` | BlackDuck Polaris SAST | | ||||||
| | `sbom-version` | sbom.yml | `main` | SBOM + BlackDuck SCA | | ||||||
| | `quality-dashboard-version` | irfan-quality-dashboard.yml | `main` | Quality reporting | | ||||||
|
|
||||||
| **Recommendation:** Pin to specific versions (e.g., `v1.0.7`) for production repositories. Use `main` for development/testing repositories to get latest features. | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
| ## Pipeline Overview | ||||||
|
sean-sype-simmons marked this conversation as resolved.
|
||||||
| ## Pipeline Overview | |
| ## Pipeline Diagram |
Uh oh!
There was an error while loading. Please reload this page.