diff --git a/.github/workflows/pre-submit.e2e.yml b/.github/workflows/pre-submit.e2e.yml new file mode 100644 index 0000000..97a7dc3 --- /dev/null +++ b/.github/workflows/pre-submit.e2e.yml @@ -0,0 +1,36 @@ +name: Pre submits e2e +on: + pull_request: + branches: ["main"] + workflow_dispatch: + +permissions: read-all + +jobs: + pre-submit: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0 + with: + path: __THIS_REPO__ + + - name: setup-go + uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 + with: + go-version: "1.18" + + - name: Build verifier at HEAD + working-directory: __THIS_REPO__ + run: | + set -euo pipefail + go build -o slsa-verifier ./cli/slsa-verifier + + - name: Checkout e2e verification script + uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0 + with: + path: __EXAMPLE_PACKAGE__ + repository: slsa-framework/example-package + + - name: Run verification script with testdata and slsa-verifier HEAD + run: ./__THIS_REPO__/.github/workflows/scripts/e2e-cli.sh diff --git a/.github/workflows/scripts/e2e-cli.sh b/.github/workflows/scripts/e2e-cli.sh new file mode 100755 index 0000000..ab87d2e --- /dev/null +++ b/.github/workflows/scripts/e2e-cli.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Verify provenance authenticity with slsa-verifier at HEAD + + +cd __EXAMPLE_PACKAGE__ +# shellcheck source=/dev/null +source "./.github/workflows/scripts/e2e-verify.common.sh" + +# Set THIS_FILE to correspond with the artifact properties +export THIS_FILE=e2e.go.workflow_dispatch.main.config-noldflags.slsa3.yml +export BRANCH=main + +# Set BINARY and PROVENANCE +cd - +export BINARY=__THIS_REPO__/cli/slsa-verifier/testdata/gha_go/v1.2.2/binary-linux-amd64-workflow_dispatch +export PROVENANCE=__THIS_REPO__/cli/slsa-verifier/testdata/gha_go/v1.2.2/binary-linux-amd64-workflow_dispatch.intoto.jsonl + +GITHUB_REPOSITORY=slsa-framework/example-package verify_provenance_authenticity "./__THIS_REPO__/slsa-verifier" "HEAD" diff --git a/slsa-verifier b/slsa-verifier new file mode 100755 index 0000000..c2e1ce1 Binary files /dev/null and b/slsa-verifier differ