Skip to content

website: update submodule for v0.1.3 changelog #4

website: update submodule for v0.1.3 changelog

website: update submodule for v0.1.3 changelog #4

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
permissions:
contents: write
jobs:
build-yeet:
name: Build yeet (${{ matrix.goos }}/${{ matrix.goarch }})
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- runner: ubuntu-latest
goos: linux
goarch: amd64
asset: yeet-linux-amd64
- runner: ubuntu-latest
goos: linux
goarch: arm64
asset: yeet-linux-arm64
- runner: macos-latest
goos: darwin
goarch: arm64
asset: yeet-darwin-arm64
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup mise
uses: jdx/mise-action@v3
with:
install: true
cache: true
- name: Build
run: |
mkdir -p dist
GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} \
go build -o dist/${{ matrix.asset }} ./cmd/yeet
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.asset }}
path: dist/${{ matrix.asset }}
if-no-files-found: error
build-catch:
name: Build catch (${{ matrix.goos }}/${{ matrix.goarch }})
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- runner: ubuntu-latest
goos: linux
goarch: amd64
asset: catch-linux-amd64
- runner: ubuntu-latest
goos: linux
goarch: arm64
asset: catch-linux-arm64
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup mise
uses: jdx/mise-action@v3
with:
install: true
cache: true
- name: Build
run: |
mkdir -p dist
VERSION=${{ github.ref_name }}
GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} \
go build -ldflags "-X github.com/yeetrun/yeet/pkg/catch.buildVersion=${VERSION}" \
-o dist/${{ matrix.asset }} ./cmd/catch
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.asset }}
path: dist/${{ matrix.asset }}
if-no-files-found: error
release:
name: Publish release
runs-on: ubuntu-latest
needs: [build-yeet, build-catch]
steps:
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
path: dist/raw
merge-multiple: true
- name: Package tarballs + checksums
run: |
mkdir -p dist/release
for asset in \
yeet-linux-amd64 \
yeet-linux-arm64 \
yeet-darwin-arm64 \
catch-linux-amd64 \
catch-linux-arm64; do
if [ ! -f "dist/raw/${asset}" ]; then
echo "Missing artifact: ${asset}" >&2
exit 1
fi
chmod +x "dist/raw/${asset}"
tar -czf "dist/release/${asset}.tar.gz" -C dist/raw "${asset}"
(cd dist/release && sha256sum "${asset}.tar.gz" > "${asset}.tar.gz.sha256")
done
- name: Publish release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
fail_on_unmatched_files: true
files: |
dist/release/yeet-linux-amd64.tar.gz
dist/release/yeet-linux-amd64.tar.gz.sha256
dist/release/yeet-linux-arm64.tar.gz
dist/release/yeet-linux-arm64.tar.gz.sha256
dist/release/yeet-darwin-arm64.tar.gz
dist/release/yeet-darwin-arm64.tar.gz.sha256
dist/release/catch-linux-amd64.tar.gz
dist/release/catch-linux-amd64.tar.gz.sha256
dist/release/catch-linux-arm64.tar.gz
dist/release/catch-linux-arm64.tar.gz.sha256