Skip to content

deps: kms v1.12.26, http v0.3.9 #641

deps: kms v1.12.26, http v0.3.9

deps: kms v1.12.26, http v0.3.9 #641

name: Lint + Unit Tests
on:
push:
branches:
- main
pull_request:
env:
GOWORK: off
CGO_ENABLED: "0"
jobs:
lint:
name: Lint
runs-on: lux-build-linux-amd64
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'
- name: Run staticcheck
run: |
go install honnef.co/go/tools/cmd/staticcheck@latest
staticcheck ./... || true
env:
CGO_ENABLED: "0"
- name: Install license check
run: go install github.com/google/addlicense@v1.0.0
- name: Check license
run: addlicense -f ./LICENSE.header -check -v ./**/*.go ./**/**/*.go ./**/**/**/*.go ./**/**/**/**/*.go
test:
name: Unit Tests (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
# GH-hosted arm64 macos forbidden; tests run on amd64 only.
# Cross-compiled darwin/arm64 binaries are validated in release-binaries.yml.
os: [ubuntu-22.04, macos-13]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'
- run: go mod download
- run: scripts/build.sh
- run: go test -v -coverprofile=coverage.out $(go list ./... | grep -v /tests/)
env:
CGO_ENABLED: "0"
CGO_CFLAGS: "-O -D__BLST_PORTABLE__"
- run: go tool cover -func=coverage.out
e2e_test:
name: E2E Tests (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
# `macos-latest` currently resolves to GH-hosted arm64 macos (forbidden).
# Pin to `macos-13` (amd64) until self-hosted darwin/arm64 is available.
os: [ubuntu-latest, macos-13]
steps:
- name: Git checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'
- name: Use Node.js
uses: actions/setup-node@v5
with:
node-version: '24.x'
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: Install dependencies
uses: nick-fields/retry@v2
with:
timeout_minutes: 10
max_attempts: 3
retry_on: error
command: cd ./tests/e2e/hardhat && pnpm install
- name: Run e2e tests
shell: bash
run: GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} scripts/run.e2e.sh
- name: 'Upload Artifact'
if: always()
uses: actions/upload-artifact@v4
with:
name: cli-logs-${{ matrix.os }}
path: |
~/.lux-cli/
!~/.lux-cli/bin/
!~/.lux-cli/snapshots
retention-days: 5