Skip to content

ci: add release workflow #147

ci: add release workflow

ci: add release workflow #147

Workflow file for this run

name: Build
on:
pull_request:
types: [opened, reopened, synchronize, ready_for_review]
workflow_dispatch:
permissions:
contents: read
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
# Linux
- name: linux-amd64
runs_on: ubuntu-24.04
platform: linux/amd64
wails_tags: webkit2_41
- name: linux-arm64
runs_on: ubuntu-24.04-arm
platform: linux/arm64
wails_tags: webkit2_41
# macOS
- name: macos-arm64
runs_on: macos-15
platform: darwin/arm64
wails_tags: ""
- name: macos-amd64
runs_on: macos-15-intel
platform: darwin/amd64
wails_tags: ""
# Windows
- name: windows-amd64
runs_on: windows-latest
platform: windows/amd64
wails_tags: ""
- name: windows-arm64
runs_on: windows-11-arm
platform: windows/arm64
wails_tags: ""
runs-on: ${{ matrix.runs_on }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: go.mod
cache: true
- name: Install Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libgtk-3-dev \
libwebkit2gtk-4.1-dev
- name: Install Wails CLI
# v2.12.0
run: |
go install github.com/wailsapp/wails/v2/cmd/wails@ebe9d32e170905ff726a3bbb3d0076282e4edc41
- name: Build (Wails)
shell: bash
run: |
set -euo pipefail
if [ -n "${{ matrix.wails_tags }}" ]; then
wails build -clean -platform "${{ matrix.platform }}" -tags "${{ matrix.wails_tags }}"
else
wails build -clean -platform "${{ matrix.platform }}"
fi
- name: Upload build artifacts
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: ${{ matrix.name }}
path: build/bin/**
if-no-files-found: error