Skip to content

chore(docs): mark top 4 TODO priorities as done #42

chore(docs): mark top 4 TODO priorities as done

chore(docs): mark top 4 TODO priorities as done #42

Workflow file for this run

name: Build Linux
on:
pull_request:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.26'
cache: true
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'npm'
cache-dependency-path: frontend/package-lock.json
- name: Install system deps
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev gcc
version: 1.0
- name: Install Wails v3 CLI
run: go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-alpha.72
- name: Install frontend dependencies
working-directory: frontend
run: npm ci
- name: Build frontend
working-directory: frontend
run: npm run build
- name: Run frontend tests
working-directory: frontend
run: npm test
- name: Run Go tests
run: go test ./internal/...
- name: Build Linux binary
run: |
export PATH=$PATH:$HOME/go/bin
VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "dev")
CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -tags production -trimpath -ldflags="-w -s -X main.AppVersion=${VERSION}" -o bin/KeyLint .
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: KeyLint-linux-amd64
path: bin/KeyLint