Skip to content

Test WASM builds

Test WASM builds #55

Workflow file for this run

name: Test and Lint
on:
push:
branches-ignore: [wip/**]
jobs:
build:
strategy:
matrix:
os: [[🐧, Ubuntu], [🍎, macOS], [πŸͺŸ, Windows]]
go: ["1.23", "1.22"]
name: ${{ matrix.os[0] }} Test Go ${{ matrix.go }} on ${{ matrix.os[1] }}
runs-on: ${{ matrix.os[1] }}-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with: { submodules: true }
- name: Setup Go
uses: actions/setup-go@v5
with: { go-version: "${{ matrix.go }}", check-latest: true }
- name: Run Tests
run: make test
- name: Test WASM
run: make _build/go.wasm
- name: Test TinyGo
uses: docker://tinygo/tinygo@latest
with: { args: make _build/tinygo.wasm }
lint:
name: πŸ“Š Lint and Cover
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with: { submodules: true }
- name: Setup Go
uses: actions/setup-go@v5
with: { go-version-file: go.mod, check-latest: true }
- name: Install Dependencies
run: make debian-lint-depends
- name: Run pre-commit
uses: pre-commit/[email protected]
- name: Run Test Coverage
run: go test -race -coverprofile coverage.txt -covermode atomic ./...
- name: Upload Coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: cover.out