Skip to content

Fix CI frontend lint failing to generate bindings #25

Fix CI frontend lint failing to generate bindings

Fix CI frontend lint failing to generate bindings #25

Workflow file for this run

name: Build for win and linux
on:
push:
env:
GO_VERSION: "1.21"
NODE_VERSION: "18"
PNPM_VERSION: "8.6.1"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- uses: pnpm/action-setup@v2
with:
version: ${{ env.PNPM_VERSION }}
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'
cache-dependency-path: frontend
- name: Install additional dependencies
run: |
sudo apt update
sudo apt -y install libgtk-3-dev libwebkit2gtk-4.0-dev nsis
- name: Install Wails
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
- name: Run GoReleaser Snapshot
uses: goreleaser/goreleaser-action@v5
with:
version: latest
args: release --snapshot -p 1 --clean # Multiple Wails builds cannot be executed in parallel
- name: Archive artifacts
uses: actions/upload-artifact@v3
with:
name: all-builds
path: dist/**/*
lint-backend:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- uses: golangci/golangci-lint-action@v3
with:
version: v1.54
only-new-issues: true
skip-pkg-cache: true
skip-build-cache: true
lint-frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- uses: pnpm/action-setup@v2
with:
version: ${{ env.PNPM_VERSION }}
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'
cache-dependency-path: frontend
- name: Install Wails
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
- name: Generate wails bindings
run: |
# Apparently only wails build generates the embedded directory
mkdir -p frontend/build
touch frontend/build/.gitkeep
wails generate module
- name: Install dependencies
working-directory: frontend
run: pnpm install
- name: Lint
working-directory: frontend
run: |
pnpm lint
pnpm check