1 changed files with 49 additions and 35 deletions
@ -1,43 +1,57 @@ |
|||||||
name: SLSA Go Releaser |
# 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 compile your Go project using a SLSA3 compliant builder. |
||||||
|
# This workflow will generate a so-called "provenance" file describing the steps |
||||||
|
# that were performed to generate the final binary. |
||||||
|
# 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 Go releaser |
||||||
on: |
on: |
||||||
|
workflow_dispatch: |
||||||
release: |
release: |
||||||
types: |
types: [created] |
||||||
- created |
|
||||||
|
|
||||||
jobs: |
permissions: read-all |
||||||
build_windows: |
|
||||||
runs-on: windows-latest |
|
||||||
|
|
||||||
|
jobs: |
||||||
|
# ======================================================================================================================================== |
||||||
|
# Prerequesite: Create a .slsa-goreleaser.yml in the root directory of your project. |
||||||
|
# See format in https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/go/README.md#configuration-file |
||||||
|
#========================================================================================================================================= |
||||||
|
build: |
||||||
|
permissions: |
||||||
|
id-token: write # To sign. |
||||||
|
contents: write # To upload release assets. |
||||||
|
actions: read # To read workflow path. |
||||||
|
uses: slsa-framework/slsa-github-generator/.github/workflows/builder_go_slsa3.yml@v1.4.0 |
||||||
|
with: |
||||||
|
go-version: 1.17 |
||||||
|
# ============================================================================================================= |
||||||
|
# Optional: For more options, see https://github.com/slsa-framework/slsa-github-generator#golang-projects |
||||||
|
# ============================================================================================================= |
||||||
|
|
||||||
|
publish: |
||||||
|
needs: build |
||||||
|
runs-on: ubuntu-latest |
||||||
steps: |
steps: |
||||||
- name: Checkout Repository |
- name: Checkout code |
||||||
uses: actions/checkout@v2 |
uses: actions/checkout@v2 |
||||||
|
|
||||||
- name: Set up Go |
- name: Install Go |
||||||
uses: actions/setup-go@v2 |
uses: actions/setup-go@v2 |
||||||
with: |
with: |
||||||
go-version: 1.19 |
go-version: 1.19 |
||||||
|
|
||||||
- name: Run SLSA Go Generator (Windows) |
- name: Install GoReleaser |
||||||
uses: slsa-framework/slsa-github-generator@v1.4.0 |
run: | |
||||||
with: |
curl -sfL https://install.goreleaser.com/install-goreleaser.sh | sh |
||||||
go-version: 1.19 |
|
||||||
# add any other necessary configuration here |
|
||||||
|
|
||||||
build_linux: |
- name: Release |
||||||
runs-on: ubuntu-latest |
run: | |
||||||
|
goreleaser --config .goreleaser.yml |
||||||
steps: |
|
||||||
- name: Checkout Repository |
|
||||||
uses: actions/checkout@v2 |
|
||||||
|
|
||||||
- name: Set up Go |
|
||||||
uses: actions/setup-go@v2 |
|
||||||
with: |
|
||||||
go-version: 1.19 |
|
||||||
|
|
||||||
- name: Run SLSA Go Generator (Linux) |
|
||||||
uses: slsa-framework/slsa-github-generator@v1.4.0 |
|
||||||
with: |
|
||||||
go-version: 1.19 |
|
||||||
# add any other necessary configuration here |
|
||||||
|
|||||||
Loading…
Reference in new issue