@plainconceptsplatform/workflows 1.15.0 → 1.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
@@ -731,13 +731,31 @@ jobs:
731
731
  steps:
732
732
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
733
733
  - name: Generate SBOM
734
- uses: anchore/sbom-action@3ad7283483fc7af8ff2b4ea19663c2d5ca935e26 # v0.24.2
734
+ id: sbom
735
+ uses: anchore/sbom-action@fffec3d851af758d56fee099cf3fbf8aa8779843 # v0.24.3
736
+ continue-on-error: true
735
737
  with:
736
738
  format: cyclonedx-json
737
739
  artifact-name: ${{ env.SBOM_ARTIFACT_NAME }}
740
+ syft-version: v1.57.0
738
741
  # On a tag that already has a GitHub Release the action attaches the SBOM to it, which
739
742
  # needs contents: write this workflow does not have, and fails the run that gates deploy.
740
743
  upload-release-assets: false
744
+ # The action downloads the syft binary with a single non-retried GET. A transient GitHub
745
+ # release-CDN 504 (log: "received HTTP status=504 ... _checksums.txt") flips this step to
746
+ # failure and, because SBOM gates deploy, blocks PROD for no code reason. The first attempt is
747
+ # continue-on-error so the job stays live; this retry runs only when it actually failed. If
748
+ # BOTH attempts fail (a real syft/SBOM error, not a flaky download), the job still fails and
749
+ # SBOM stays a gate.
750
+ - name: Retry SBOM on transient asset 504
751
+ if: ${{ steps.sbom.outcome == 'failure' }}
752
+ uses: anchore/sbom-action@fffec3d851af758d56fee099cf3fbf8aa8779843 # v0.24.3
753
+ with:
754
+ format: cyclonedx-json
755
+ artifact-name: ${{ env.SBOM_ARTIFACT_NAME }}
756
+ syft-version: v1.57.0
757
+ # Same guard as above: a tag release needs contents: write, which this job lacks.
758
+ upload-release-assets: false
741
759
 
742
760
  # Builds the coverage, complexity and hygiene facets (uploaded from main only) and runs the
743
761
  # blocking complexity and duplication gates. The coverage floors stay with the api and web jobs.
@@ -204,13 +204,32 @@ jobs:
204
204
  runs-on: agents-arc
205
205
  steps:
206
206
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
207
- - uses: anchore/sbom-action@e22c389904149dbc22b58101806040fa8d37a610 # v0
207
+ - name: Generate SBOM
208
+ id: sbom
209
+ uses: anchore/sbom-action@fffec3d851af758d56fee099cf3fbf8aa8779843 # v0.24.3
210
+ continue-on-error: true
208
211
  with:
209
212
  format: cyclonedx-json
210
213
  artifact-name: ${{ env.SBOM_ARTIFACT_NAME }}
214
+ syft-version: v1.57.0
211
215
  # On a tag that already has a GitHub Release the action attaches the SBOM to it, which
212
216
  # needs contents: write this workflow does not have, and fails the run that gates deploy.
213
217
  upload-release-assets: false
218
+ # The action downloads the syft binary with a single non-retried GET. A transient GitHub
219
+ # release-CDN 504 (log: "received HTTP status=504 ... _checksums.txt") flips this step to
220
+ # failure and, because SBOM gates deploy, blocks PROD for no code reason. The first attempt is
221
+ # continue-on-error so the job stays live; this retry runs only when it actually failed. If
222
+ # BOTH attempts fail (a real syft/SBOM error, not a flaky download), the job still fails and
223
+ # SBOM stays a gate.
224
+ - name: Retry SBOM on transient asset 504
225
+ if: ${{ steps.sbom.outcome == 'failure' }}
226
+ uses: anchore/sbom-action@fffec3d851af758d56fee099cf3fbf8aa8779843 # v0.24.3
227
+ with:
228
+ format: cyclonedx-json
229
+ artifact-name: ${{ env.SBOM_ARTIFACT_NAME }}
230
+ syft-version: v1.57.0
231
+ # Same guard as above: a tag release needs contents: write, which this job lacks.
232
+ upload-release-assets: false
214
233
 
215
234
  # The merge queue requires this check. On a pull request with MERGE_QUEUE on, the heavy jobs are
216
235
  # skipped and the full CI runs on the merge group instead; skipped counts as passed.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plainconceptsplatform/workflows",
3
- "version": "1.15.0",
3
+ "version": "1.16.2",
4
4
  "description": "Install and update Platform GitHub agentic workflows.",
5
5
  "keywords": [
6
6
  "github-actions",