Skip to content

chore(main): release 0.1.5 #276

chore(main): release 0.1.5

chore(main): release 0.1.5 #276

Workflow file for this run

name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: Format
run: |
output=$(gofmt -l .)
if [ -n "$output" ]; then
echo "Files not formatted:"
echo "$output"
exit 1
fi
- name: Vet
run: go vet ./...
- name: Lint
uses: golangci/golangci-lint-action@v9
with:
# A full major.minor.patch pin resolves locally; "latest" makes the
# action fetch a remote version mapping that fails the job on any
# network blip. Keep in sync with nixpkgs' golangci-lint in flake.nix.
version: v2.12.2
- name: Comments
run: go run ./tools/commentlint .
test:
name: Test (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: Test
run: go test -race ./...
- name: Build
run: go build -o hand .
e2e:
name: E2E
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version-file: go.mod
- name: End-to-end
run: go test -tags=e2e -timeout=10m ./tests/e2e/...
nix-build:
name: Nix build (x86_64-linux)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: DeterminateSystems/nix-installer-action@v22
- name: Build flake package
run: nix build .#default --no-link --print-out-paths
- name: Run built binary
run: '"$(nix build .#default --no-link --print-out-paths)/bin/hand" --version'