Build + Test v2 #599
Workflow file for this run
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 v2 | |
on: | |
push: | |
branches: [release/*, master, bugfix/*] | |
workflow_dispatch: | |
jobs: | |
test_go: | |
name: Run Go Tests | |
if: github.repository == 'wailsapp/wails' | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-22.04, ubuntu-24.04, windows-latest, macos-latest, macos-11] | |
go-version: ['1.21'] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install linux dependencies ( 22.04 ) | |
if: matrix.os == 'ubuntu-22.04' | |
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev build-essential pkg-config | |
- name: Install linux dependencies ( 24.04 ) | |
if: matrix.os == 'ubuntu-24.04' | |
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev build-essential pkg-config | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go-version }} | |
cache-dependency-path: ./v2/go.sum | |
- name: Run tests (mac) | |
if: matrix.os == 'macos-latest' || matrix.os == 'macos-11' | |
env: | |
CGO_LDFLAGS: -framework UniformTypeIdentifiers -mmacosx-version-min=10.13 | |
working-directory: ./v2 | |
run: go test -v ./... | |
- name: Run tests (!mac) | |
if: matrix.os != 'macos-latest' && matrix.os != 'macos-11' | |
working-directory: ./v2 | |
run: go test -v ./... | |
test_js: | |
name: Run JS Tests | |
if: github.repository == 'wailsapp/wails' | |
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@v3 | |
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: true | |
matrix: | |
os: [ubuntu-22.04, windows-latest, macos-latest, ubuntu-24.04, macos-11] | |
template: | |
[ | |
svelte, | |
svelte-ts, | |
vue, | |
vue-ts, | |
react, | |
react-ts, | |
preact, | |
preact-ts, | |
lit, | |
lit-ts, | |
vanilla, | |
vanilla-ts, | |
plain, | |
] | |
go-version: ['1.21'] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go-version }} | |
cache-dependency-path: ./v2/go.sum | |
- name: Build Wails CLI | |
run: | | |
cd ./v2/cmd/wails | |
go install | |
wails -help | |
- name: Install linux dependencies ( 22.04 ) | |
if: matrix.os == 'ubuntu-22.04' | |
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev build-essential pkg-config | |
- name: Install linux dependencies ( 24.04 ) | |
if: matrix.os == 'ubuntu-24.04' | |
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev build-essential pkg-config | |
- name: Generate template '${{ matrix.template }}' | |
run: | | |
mkdir -p ./test-${{ matrix.template }} | |
cd ./test-${{ matrix.template }} | |
wails init -n ${{ matrix.template }} -t ${{ matrix.template }} -ci | |
- name: Build template '${{ matrix.template }}' | |
if: matrix.os != 'ubuntu-24.04' | |
run: | | |
cd ${{ matrix.template }} | |
wails build -v 2 | |
- name: Build template '${{ matrix.template }}' (Ubuntu 24.04) | |
if: matrix.os == 'ubuntu-24.04' | |
run: | | |
cd ${{ matrix.template }} | |
wails build -v 2 -tags webkit2_41 |