Add GECOM encoder (#16) #42
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
workflow_dispatch: | |
pull_request: | |
types: [opened, reopened, ready_for_review, synchronize] | |
push: | |
branches: | |
- main | |
- master | |
name: Run tests | |
jobs: | |
check: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: 'go.mod' | |
- name: Get StaticCheck | |
run: go install honnef.co/go/tools/cmd/staticcheck@latest | |
- name: Gomod | |
run: | | |
go mod tidy | |
if [[ -n $(git ls-files --other --exclude-standard --directory -- go.sum) ]]; then | |
echo "go.sum was added by go mod tidy" | |
exit 1 | |
fi | |
git diff --exit-code -- go.sum go.mod | |
- name: Gofmt | |
if: ${{ success() || failure() }} # run this step even if the previous one failed | |
run: | | |
out=$(gofmt -s -l .) | |
if [[ -n "$out" ]]; then | |
echo $out | awk '{print "::error file=" $0 ",line=0,col=0::File is not gofmt-ed."}' | |
exit 1 | |
fi | |
- name: Vet | |
if: ${{ success() || failure() }} # run this step even if the previous one failed | |
run: go vet ./... | |
- name: StaticCheck | |
if: ${{ success() || failure() }} # run this step even if the previous one failed | |
run: staticcheck ./... | |
test: | |
strategy: | |
matrix: | |
os: ["ubuntu", "windows", "macos"] | |
runs-on: ${{ matrix.os }}-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: 'go.mod' | |
- name: Test | |
run: go test ./... | |
- name: Test 32 bit | |
if: ${{ matrix.os != 'macos' }} # can't run 32 bit tests on OSX. | |
env: | |
GOARCH: 386 | |
run: go test ./... | |
- name: Test with race detector | |
if: ${{ matrix.os == 'ubuntu' }} # speed things up. Windows and OSX VMs are slow | |
run: go test -race ./... |