diff --git a/.github/generate-sboms.sh b/.github/generate-sboms.sh new file mode 100755 index 00000000..c155c2b9 --- /dev/null +++ b/.github/generate-sboms.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -euox pipefail + +SBOMS_DIR=${SBOMS_DIR:-"./sboms"} +RECRUIT_IMAGES=$(yq .services.*.image recruit-hashes.sha256 + echo "::set-output name=hashes::$(base64 -w0 < recruit-hashes.sha256)" + + - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # tag=v3.1.0 + with: + name: release-assets + path: dist/*.tar.gz + + provenance: + needs: + - prepare-artifacts + permissions: + actions: read # To read the workflow path. + id-token: write # To sign the provenance. + contents: write # To add assets to a release. + # can't be referenced by digest. See + uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v1.2.0 + with: + base64-subjects: "${{ needs.prepare-artifacts.outputs.hashes }}" + + release: + name: Release + runs-on: ubuntu-22.04 + needs: + - prepare-artifacts + - provenance + steps: + - name: Checkout + uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 + with: + fetch-depth: 0 + + - name: Download all artifacts + uses: actions/download-artifact@fb598a63ae348fa914e94cd0ff38f362e927b741 # tag=v3.0.0 + - name: Semantic Release uses: cycjimmy/semantic-release-action@e1fe1fc00a3729593e87efb2f88475de76d64a24 # tag=v3.1.1 with: diff --git a/.gitignore b/.gitignore index 9052de1b..7d70a60e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ site/ megalinter-reports/ + +dist/ diff --git a/.releaserc.json b/.releaserc.json index 15231347..7c869e87 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -39,9 +39,19 @@ { "assets": [ { - "path": "dist/recruit-docker-compose.tar.gz", - "label": "Docker Compose Deployment Bundle", + "path": "attestation.intoto.jsonl/attestation.intoto.jsonl", + "label": "provenance-${nextRelease.gitTag}.intoto.jsonl", + "name": "provenance-${nextRelease.gitTag}.intoto.jsonl" + }, + { + "path": "release-assets/recruit-docker-compose.tar.gz", + "label": "recruit-docker-compose-${nextRelease.gitTag}.tar.gz", "name": "recruit-docker-compose-${nextRelease.gitTag}.tar.gz" + }, + { + "path": "release-assets/recruit-container-sboms.tar.gz", + "label": "recruit-container-sboms-${nextRelease.gitTag}.tar.gz", + "name": "recruit-container-sboms-${nextRelease.gitTag}.tar.gz" } ] } diff --git a/.renovaterc.json b/.renovaterc.json index d2ba645e..f3795969 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -20,7 +20,7 @@ "extends": ["schedule:monthly"] }, { - "matchPackagePrefixes": ["ghcr.io/miracum/recruit"], + "matchPackagePatterns": ["^ghcr.io/miracum/recruit"], "extends": ["schedule:daily"] } ]