Skip to content

Large spec test and README updates #120

Large spec test and README updates

Large spec test and README updates #120

Workflow file for this run

name: ci
on:
push:
workflow_dispatch:
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
build-windows:
runs-on: windows-latest
env:
GO111MODULE: "on"
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Install dependencies
run: go get ./...
- name: Build
run: go build -ldflags="-s -w" -gcflags=all="-l -B" -trimpath -buildvcs=false -v .
- name: Run UPX
uses: crazy-max/ghaction-upx@v3
with:
files: goqoa.exe
args: --brute
- name: Go Test
run: go test -v ./...
- uses: actions/upload-artifact@v4
with:
name: windows
path: goqoa.exe
build-mac:
runs-on: macos-latest
env:
GO111MODULE: "on"
CGO_ENABLED: 1
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Install dependencies
run: go get ./...
- name: Build
run: go build -ldflags="-s -w" -gcflags=all="-l -B" -trimpath -buildvcs=false -o goqoa-mac -v .
- name: Go Test
run: go test -v ./...
- uses: actions/upload-artifact@v4
with:
name: mac
path: goqoa-mac
build-linux:
runs-on: ubuntu-latest
env:
GO111MODULE: "on"
CGO_ENABLED: 1
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v4
with:
go-version: "1.21"
- name: Install dependencies
run: |
go get ./...
sudo apt-get update
sudo apt-get install -y libasound2-dev
- name: Build
run: |
go build -ldflags="-s -w" -gcflags=all="-l -B" -trimpath -buildvcs=false -o goqoa-linux -v .
upx --best goqoa-linux
- name: Go Test
run: go test -v ./...
- name: Cache large spec pack
uses: actions/cache@v3
with:
key: qoa_test_samples_2023_02_18.zip
path: qoa_test_samples_2023_02_18.zip
- name: Download large spec pack
run: wget --timestamping https://qoaformat.org/samples/qoa_test_samples_2023_02_18.zip
- name: Spec Test
run: |
sudo cp goqoa-linux /usr/bin/goqoa
bash check_spec.sh
- uses: actions/upload-artifact@v4
with:
name: linux
path: goqoa-linux
release:
if: startsWith(github.ref, 'refs/tags/')
needs:
- build-windows
- build-mac
- build-linux
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: actions/checkout@v4
- name: Release
uses: softprops/action-gh-release@v1
with:
files: |
*/goqoa-linux
*/goqoa.exe
*/goqoa-mac