Better shutdown for macOS #387
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
name: Build + Test v3 alpha | |
on: | |
push: | |
branches: [v3-alpha, v3/*, v3-*] | |
paths-ignore: | |
- 'mkdocs-website/**/*' | |
workflow_dispatch: | |
jobs: | |
test_go: | |
name: Run Go Tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest, macos-latest, ubuntu-latest] | |
go-version: [1.22] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install linux dependencies | |
uses: awalsh128/cache-apt-pkgs-action@latest | |
if: matrix.os == 'ubuntu-latest' | |
with: | |
packages: libgtk-3-dev libwebkit2gtk-4.1-dev build-essential pkg-config | |
version: 1.0 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go-version }} | |
cache-dependency-path: "v3/go.sum" | |
- name: Install Task | |
uses: arduino/setup-task@v2 | |
with: | |
version: 3.x | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build Examples | |
working-directory: ./v3 | |
run: task test:examples | |
- name: Run tests (mac) | |
if: matrix.os == 'macos-latest' | |
env: | |
CGO_LDFLAGS: -framework UniformTypeIdentifiers -mmacosx-version-min=10.13 | |
working-directory: ./v3 | |
run: go test -v ./... | |
- name: Run tests (!mac) | |
if: matrix.os != 'macos-latest' | |
working-directory: ./v3 | |
run: go test -v ./... | |
test_js: | |
name: Run JS Tests | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [20.x] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install dependencies | |
run: npm install | |
working-directory: v2/internal/frontend/runtime | |
- name: Run tests | |
run: npm test | |
working-directory: v2/internal/frontend/runtime | |
test_templates: | |
name: Test Templates | |
needs: test_go | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
template: | |
[ | |
svelte, | |
svelte-ts, | |
vue, | |
vue-ts, | |
react, | |
react-ts, | |
preact, | |
preact-ts, | |
lit, | |
lit-ts, | |
vanilla, | |
vanilla-ts, | |
] | |
go-version: [1.23] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go-version }} | |
cache-dependency-path: "v3/go.sum" | |
- name: Setup Golang caches | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-golang-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-golang- | |
- name: Install linux dependencies | |
uses: awalsh128/cache-apt-pkgs-action@latest | |
if: matrix.os == 'ubuntu-latest' | |
with: | |
packages: libgtk-3-dev libwebkit2gtk-4.1-dev build-essential pkg-config | |
version: 1.0 | |
- name: Build Wails3 CLI | |
run: | | |
cd ./v3/cmd/wails3 | |
go install | |
wails3 -help | |
- name: Generate template '${{ matrix.template }}' | |
run: | | |
go install github.com/go-task/task/v3/cmd/task@latest | |
mkdir -p ./test-${{ matrix.template }} | |
cd ./test-${{ matrix.template }} | |
wails3 init -n ${{ matrix.template }} -t ${{ matrix.template }} | |
cd ${{ matrix.template }} | |
wails3 build |