mirror of
https://github.com/anchore/syft.git
synced 2025-11-17 16:33:21 +01:00
chore: upload individual binaries as artifacts (#3714)
Signed-off-by: Keith Zantow <kzantow@gmail.com>
This commit is contained in:
parent
2846bb18d2
commit
9a2c2ad401
56
.github/workflows/validations.yaml
vendored
56
.github/workflows/validations.yaml
vendored
@ -89,6 +89,61 @@ jobs:
|
|||||||
key: snapshot-build-${{ github.run_id }}
|
key: snapshot-build-${{ github.run_id }}
|
||||||
|
|
||||||
|
|
||||||
|
Upload-Snapshot-Artifacts:
|
||||||
|
# Note: changing this job name requires making the same update in the .github/workflows/release.yaml pipeline
|
||||||
|
name: "Upload snapshot artifacts"
|
||||||
|
needs: [Build-Snapshot-Artifacts]
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
|
||||||
|
|
||||||
|
- name: Bootstrap environment
|
||||||
|
uses: ./.github/actions/bootstrap
|
||||||
|
with:
|
||||||
|
download-test-fixture-cache: true
|
||||||
|
|
||||||
|
- name: Download snapshot build
|
||||||
|
id: snapshot-cache
|
||||||
|
uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf #v4.2.2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
snapshot
|
||||||
|
.task
|
||||||
|
fail-on-cache-miss: true
|
||||||
|
key: snapshot-build-${{ github.run_id }}
|
||||||
|
|
||||||
|
# workaround for https://github.com/actions/cache/issues/1265
|
||||||
|
- name: (cache-miss) Snapshot build missing
|
||||||
|
if: steps.snapshot-cache.outputs.cache-hit != 'true'
|
||||||
|
run: echo "unable to download snapshots from previous job" && false
|
||||||
|
|
||||||
|
- run: npm install @actions/artifact@2.2.2
|
||||||
|
|
||||||
|
- uses: actions/github-script@v7
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const { readdirSync } = require('fs')
|
||||||
|
const { DefaultArtifactClient } = require('@actions/artifact')
|
||||||
|
const artifact = new DefaultArtifactClient()
|
||||||
|
const ls = d => readdirSync(d, { withFileTypes: true })
|
||||||
|
const baseDir = "./snapshot"
|
||||||
|
const dirs = ls(baseDir).filter(f => f.isDirectory()).map(f => f.name)
|
||||||
|
const uploads = []
|
||||||
|
for (const dir of dirs) {
|
||||||
|
// uploadArtifact returns Promise<{id, size}>
|
||||||
|
uploads.push(artifact.uploadArtifact(
|
||||||
|
// name of the archive:
|
||||||
|
`${dir}`,
|
||||||
|
// array of all files to include:
|
||||||
|
ls(`${baseDir}/${dir}`).map(f => `${baseDir}/${dir}/${f.name}`),
|
||||||
|
// base directory to trim from entries:
|
||||||
|
`${baseDir}/${dir}`,
|
||||||
|
{ retentionDays: 30 }
|
||||||
|
))
|
||||||
|
}
|
||||||
|
// wait for all uploads to finish
|
||||||
|
Promise.all(uploads)
|
||||||
|
|
||||||
Acceptance-Linux:
|
Acceptance-Linux:
|
||||||
# Note: changing this job name requires making the same update in the .github/workflows/release.yaml pipeline
|
# Note: changing this job name requires making the same update in the .github/workflows/release.yaml pipeline
|
||||||
name: "Acceptance tests (Linux)"
|
name: "Acceptance tests (Linux)"
|
||||||
@ -214,6 +269,7 @@ jobs:
|
|||||||
- Acceptance-Linux
|
- Acceptance-Linux
|
||||||
- Acceptance-Mac
|
- Acceptance-Mac
|
||||||
- Cli-Linux
|
- Cli-Linux
|
||||||
|
- Upload-Snapshot-Artifacts
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user