From 325f12aabf91152baddbed504c2486a024f58bf4 Mon Sep 17 00:00:00 2001 From: Shunsuke Suzuki Date: Sat, 7 Jan 2023 09:56:30 +0900 Subject: [PATCH] chore: release assets for multiple platforms (#434) * chore: release assets for multiple platforms Signed-off-by: Shunsuke Suzuki * ci: release assets for windows and macOS Signed-off-by: Shunsuke Suzuki * ci: add configuration files for macOS and windows Signed-off-by: Shunsuke Suzuki * ci: remove a workflow job `if-failed` This job is unneeded anymore. https://github.com/slsa-framework/slsa-verifier/pull/434#discussion_r1063427948 Signed-off-by: Shunsuke Suzuki * ci: move configuration files to a directory `.slsa-goreleaser` Signed-off-by: Shunsuke Suzuki Signed-off-by: Shunsuke Suzuki Co-authored-by: laurentsimon <64505099+laurentsimon@users.noreply.github.com> --- .github/workflows/release.yml | 26 ++++++++----------- .slsa-goreleaser/darwin-amd64.yml | 17 ++++++++++++ .slsa-goreleaser/darwin-arm64.yml | 17 ++++++++++++ .../linux-amd64.yml | 0 .slsa-goreleaser/linux-arm64.yml | 17 ++++++++++++ .slsa-goreleaser/windows-amd64.yml | 17 ++++++++++++ .slsa-goreleaser/windows-arm64.yml | 17 ++++++++++++ 7 files changed, 96 insertions(+), 15 deletions(-) create mode 100644 .slsa-goreleaser/darwin-amd64.yml create mode 100644 .slsa-goreleaser/darwin-arm64.yml rename .github/config-release.yml => .slsa-goreleaser/linux-amd64.yml (100%) create mode 100644 .slsa-goreleaser/linux-arm64.yml create mode 100644 .slsa-goreleaser/windows-amd64.yml create mode 100644 .slsa-goreleaser/windows-arm64.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 32a8754..291e237 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,7 +32,17 @@ jobs: echo "version=$(git describe --tags --always --dirty | cut -c2-)" >> "$GITHUB_OUTPUT" builder: + name: builder-${{matrix.os}}-${{matrix.arch}} needs: [args] + strategy: + matrix: + os: + - linux + - windows + - darwin + arch: + - amd64 + - arm64 permissions: actions: read # For the detection of GitHub Actions environment. id-token: write # For signing. @@ -40,20 +50,6 @@ jobs: uses: slsa-framework/slsa-github-generator/.github/workflows/builder_go_slsa3.yml@v1.4.0 with: go-version: 1.18 - config-file: .github/config-release.yml + config-file: .slsa-goreleaser/${{matrix.os}}-${{matrix.arch}}.yml compile-builder: true evaluated-envs: "VERSION:${{needs.args.outputs.version}}" - - # In case this fails, e.g. build configuration changes, file an issue in slsa-verifier - if-failed: - runs-on: ubuntu-latest - needs: [builder] - if: always() && needs.builder.result == 'failure' - steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0 - with: - repository: slsa-framework/example-package - - run: | - set -euo pipefail - - ./.github/workflows/scripts/e2e-report-failure.sh diff --git a/.slsa-goreleaser/darwin-amd64.yml b/.slsa-goreleaser/darwin-amd64.yml new file mode 100644 index 0000000..4ed16ad --- /dev/null +++ b/.slsa-goreleaser/darwin-amd64.yml @@ -0,0 +1,17 @@ +# Used for pre-submit tests. +version: 1 +env: + - GO111MODULE=on + - CGO_ENABLED=0 + +flags: + - -trimpath + - -tags=netgo + +goos: darwin +goarch: amd64 +binary: slsa-verifier-{{ .Os }}-{{ .Arch }} +dir: ./cli/slsa-verifier + +ldflags: + - "-X sigs.k8s.io/release-utils/version.gitVersion={{ .Env.VERSION }}" diff --git a/.slsa-goreleaser/darwin-arm64.yml b/.slsa-goreleaser/darwin-arm64.yml new file mode 100644 index 0000000..ed58223 --- /dev/null +++ b/.slsa-goreleaser/darwin-arm64.yml @@ -0,0 +1,17 @@ +# Used for pre-submit tests. +version: 1 +env: + - GO111MODULE=on + - CGO_ENABLED=0 + +flags: + - -trimpath + - -tags=netgo + +goos: darwin +goarch: arm64 +binary: slsa-verifier-{{ .Os }}-{{ .Arch }} +dir: ./cli/slsa-verifier + +ldflags: + - "-X sigs.k8s.io/release-utils/version.gitVersion={{ .Env.VERSION }}" diff --git a/.github/config-release.yml b/.slsa-goreleaser/linux-amd64.yml similarity index 100% rename from .github/config-release.yml rename to .slsa-goreleaser/linux-amd64.yml diff --git a/.slsa-goreleaser/linux-arm64.yml b/.slsa-goreleaser/linux-arm64.yml new file mode 100644 index 0000000..70e8c80 --- /dev/null +++ b/.slsa-goreleaser/linux-arm64.yml @@ -0,0 +1,17 @@ +# Used for pre-submit tests. +version: 1 +env: + - GO111MODULE=on + - CGO_ENABLED=0 + +flags: + - -trimpath + - -tags=netgo + +goos: linux +goarch: arm64 +binary: slsa-verifier-{{ .Os }}-{{ .Arch }} +dir: ./cli/slsa-verifier + +ldflags: + - "-X sigs.k8s.io/release-utils/version.gitVersion={{ .Env.VERSION }}" diff --git a/.slsa-goreleaser/windows-amd64.yml b/.slsa-goreleaser/windows-amd64.yml new file mode 100644 index 0000000..d845b29 --- /dev/null +++ b/.slsa-goreleaser/windows-amd64.yml @@ -0,0 +1,17 @@ +# Used for pre-submit tests. +version: 1 +env: + - GO111MODULE=on + - CGO_ENABLED=0 + +flags: + - -trimpath + - -tags=netgo + +goos: windows +goarch: amd64 +binary: slsa-verifier-{{ .Os }}-{{ .Arch }} +dir: ./cli/slsa-verifier + +ldflags: + - "-X sigs.k8s.io/release-utils/version.gitVersion={{ .Env.VERSION }}" diff --git a/.slsa-goreleaser/windows-arm64.yml b/.slsa-goreleaser/windows-arm64.yml new file mode 100644 index 0000000..8fff8ea --- /dev/null +++ b/.slsa-goreleaser/windows-arm64.yml @@ -0,0 +1,17 @@ +# Used for pre-submit tests. +version: 1 +env: + - GO111MODULE=on + - CGO_ENABLED=0 + +flags: + - -trimpath + - -tags=netgo + +goos: windows +goarch: arm64 +binary: slsa-verifier-{{ .Os }}-{{ .Arch }} +dir: ./cli/slsa-verifier + +ldflags: + - "-X sigs.k8s.io/release-utils/version.gitVersion={{ .Env.VERSION }}"