From 85cc9ac9ceb40c7b3bd6c7332348aa2b4330a7ba Mon Sep 17 00:00:00 2001 From: Omony Denis <23052810+Watemlifts@users.noreply.github.com> Date: Fri, 31 Jan 2025 16:22:49 +0300 Subject: [PATCH] Create generator-generic-ossf-slsa3-publish.yml Added files from 68 to 87. These files authorize commit signing for continuous integration --- .../generator-generic-ossf-slsa3-publish.yml | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .github/workflows/generator-generic-ossf-slsa3-publish.yml diff --git a/.github/workflows/generator-generic-ossf-slsa3-publish.yml b/.github/workflows/generator-generic-ossf-slsa3-publish.yml new file mode 100644 index 0000000..798d1bb --- /dev/null +++ b/.github/workflows/generator-generic-ossf-slsa3-publish.yml @@ -0,0 +1,87 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# This workflow lets you generate SLSA provenance file for your project. +# The generation satisfies level 3 for the provenance requirements - see https://slsa.dev/spec/v0.1/requirements +# The project is an initiative of the OpenSSF (openssf.org) and is developed at +# https://github.com/slsa-framework/slsa-github-generator. +# The provenance file can be verified using https://github.com/slsa-framework/slsa-verifier. +# For more information about SLSA and how it improves the supply-chain, visit slsa.dev. + +name: SLSA generic generator +on: + workflow_dispatch: + release: + types: [created] + +jobs: + build: + runs-on: ubuntu-latest + outputs: + digests: ${{ steps.hash.outputs.digests }} + + steps: + - uses: actions/checkout@v4 + + # ======================================================== + # + # Step 1: Build your artifacts. + # + # ======================================================== + - name: Build artifacts + run: | + # These are some amazing artifacts. + echo "artifact1" > artifact1 + echo "artifact2" > artifact2 + + # ======================================================== + # + # Step 2: Add a step to generate the provenance subjects + # as shown below. Update the sha256 sum arguments + # to include all binaries that you generate + # provenance for. + # + # ======================================================== + - name: Generate subject for provenance + id: hash + run: | + set -euo pipefail + + # List the artifacts the provenance will refer to. + files=$(ls artifact*) + # Generate the subjects (base64 encoded). + echo "hashes=$(sha256sum $files | base64 -w0)" >> "${GITHUB_OUTPUT}" + + provenance: + needs: [build] + permissions: + actions: read # To read the workflow path. + id-token: write # To sign the provenance. + contents: write # To add assets to a release. + uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v1.4.0 + with: + base64-subjects: "${{ needs.build.outputs.digests }}" + upload-assets: true # Optional: Upload to a new release + + name: Authorize Commit Signing + # You may pin to the exact commit or the version. + # uses: gobeyondidentity/auth-commit-sig@6db65836b90626777616f62faa2b33a9e8b836da + uses: gobeyondidentity/auth-commit-sig@v1.0.0 + with: + # API token for the Beyond Identity key management API. Should be stored as a secret in your repository, and referenced as, e.g. + + api_token: {{ secrets.BYNDID_KEY_MGMT_API_TOKEN }} + + api_token: + # The repository which the signature verification action is performed on. This is also used to match against the repositories listed on the allowlist. + + repository: + # The commit reference to check. Defaults to HEAD, which will be the ref checked out by `actions/checkout`. + + ref: # optional, default is HEAD + # The file path where the allowlist config file is stored. See README on how to configure and fetch allowlist. + + allowlist_config_file_path: # optional +