mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-14 22:55:48 +01:00
Ubuntu 24.04 no longer transitively installs libwayland-server.so.0 via libwebkit2gtk-4.1-dev, causing all Linux template tests to fail with "cannot open shared object file". Add libwayland-dev explicitly to all workflow files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
148 lines
4.3 KiB
YAML
148 lines
4.3 KiB
YAML
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
|
|
|
|
- uses: awalsh128/cache-apt-pkgs-action@latest
|
|
if: matrix.os == 'ubuntu-22.04'
|
|
with:
|
|
packages: libgtk-3-dev libwebkit2gtk-4.0-dev build-essential pkg-config
|
|
version: 1.0
|
|
|
|
- uses: awalsh128/cache-apt-pkgs-action@latest
|
|
if: matrix.os == 'ubuntu-24.04'
|
|
with:
|
|
packages: libgtk-3-dev libwebkit2gtk-4.1-dev libwayland-dev build-essential pkg-config
|
|
version: 1.0
|
|
|
|
- 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' && matrix.os != 'ubuntu-24.04'
|
|
working-directory: ./v2
|
|
run: go test -v ./...
|
|
|
|
- name: Run tests (Ubuntu 24.04)
|
|
if: matrix.os == 'ubuntu-24.04'
|
|
working-directory: ./v2
|
|
run: go test -v -tags webkit2_41 ./...
|
|
|
|
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 libwayland-dev build-essential pkg-config
|
|
|
|
- name: Generate & Build template '${{ matrix.template }}'
|
|
if: matrix.os != 'ubuntu-24.04'
|
|
run: |
|
|
mkdir -p ./test-${{ matrix.template }}
|
|
cd ./test-${{ matrix.template }}
|
|
wails init -n ${{ matrix.template }} -t ${{ matrix.template }} -ci
|
|
cd ${{ matrix.template }}
|
|
wails build -v 2
|
|
|
|
- name: Generate & Build template '${{ matrix.template }}' (ubuntu-24.04)
|
|
if: matrix.os == 'ubuntu-24.04'
|
|
run: |
|
|
mkdir -p ./test-${{ matrix.template }}
|
|
cd ./test-${{ matrix.template }}
|
|
wails init -n ${{ matrix.template }} -t ${{ matrix.template }} -ci
|
|
cd ${{ matrix.template }}
|
|
wails build -v 2 -tags webkit2_41
|
|
|