43 lines
1 KiB
YAML
43 lines
1 KiB
YAML
name: Test
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
os: [linux]
|
|
tags: [[], ['null'], [portal], [uinput], [x11],
|
|
['null', portal, uinput, x11]]
|
|
include:
|
|
- os: windows
|
|
tags: []
|
|
- os: windows
|
|
tags: ['null']
|
|
env:
|
|
GOOS: ${{ matrix.os }}
|
|
GOFLAGS: -tags=${{ join(matrix.tags, ',') }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-go@v4
|
|
with:
|
|
go-version: stable
|
|
check-latest: true
|
|
- run: sudo apt install libxrandr-dev libxtst-dev libxt-dev
|
|
if: ${{ contains(matrix.tags, 'x11') }}
|
|
|
|
- name: Go Format
|
|
run: gofmt -s -w . && git diff --exit-code
|
|
|
|
- name: Go Mod Tidy
|
|
run: go mod tidy && git diff --exit-code
|
|
|
|
- name: Go Vet
|
|
run: go vet ./...
|
|
|
|
- name: Go Build
|
|
run: go build ./...
|
|
|
|
- name: Go Test (with data race detection)
|
|
run: go test -race ./...
|
|
if: ${{ matrix.os == 'linux' }}
|