Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and upload release artifact | |
permissions: | |
contents: read | |
on: | |
release: | |
types: [created] | |
env: | |
RELEASE_VERSION: ${{ github.event.release.tag_name }} | |
jobs: | |
build: | |
permissions: | |
contents: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Set Release Version | |
run: echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_ENV | |
- name: Set up Go | |
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 | |
with: | |
go-version: '1.24.3' | |
- name: Install Cosign | |
uses: sigstore/cosign-installer@3454372f43399081ed03b604cb2d021dabca52bb # v3.8.2 | |
with: | |
cosign-release: 'v2.4.0' | |
- name: Check cosign version | |
run: cosign version | |
- name: Build | |
run: | | |
set -e | |
BUILD=$(git log --format='%H' -n 1) | |
VERSION=$RELEASE_VERSION | |
OSES="linux darwin windows" | |
ARCHS="amd64 arm64" | |
IFS=" " | |
for OS in $OSES; do | |
for ARCH in $ARCHS; do | |
echo "OS: ${OS} and ARCH: ${ARCH}" | |
CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH} go build -ldflags "-w -s -X github.com/nginxinc/nginx-k8s-supportpkg/pkg/version.Build=$BUILD\ | |
-X github.com/nginxinc/nginx-k8s-supportpkg/pkg/version.Version=$VERSION"\ | |
-o release/kubectl-nginx_supportpkg_${VERSION}_${OS}_${ARCH}/kubectl-nginx_supportpkg | |
cp LICENSE release/kubectl-nginx_supportpkg_${VERSION}_${OS}_${ARCH}/ | |
tar czvf release/kubectl-nginx_supportpkg_${VERSION}_${OS}_${ARCH}.tar.gz -C release/kubectl-nginx_supportpkg_${VERSION}_${OS}_${ARCH}/ . | |
sha256sum "release/kubectl-nginx_supportpkg_${VERSION}_${OS}_${ARCH}.tar.gz" >> "release/kubectl-nginx_supportpkg_${VERSION}_checksums.txt" | |
done; done | |
cosign sign-blob "release/kubectl-nginx_supportpkg_${VERSION}_checksums.txt" \ | |
--output-signature="release/kubectl-nginx_supportpkg_${VERSION}_checksums.txt.sig" \ | |
--output-certificate="release/kubectl-nginx_supportpkg_${VERSION}_checksums.txt.pem" -y | |
- name: Upload release binaries | |
uses: alexellis/upload-assets@13926a61cdb2cb35f5fdef1c06b8b591523236d3 # 0.4.1 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
asset_paths: '["./release/*.gz", "./release/*.txt", "./release/*.sig", "./release/*.pem"]' | |
- name: Update new version in krew-index | |
uses: rajatjindal/krew-release-bot@3d9faef30a82761d610544f62afddca00993eef9 # v0.0.47 |