ui/tokens.css is no longer a hand copy that drifts: scripts/fetch-tokens.sh takes the server's tokens.css at a git ref and tokens.lock.json pins it, as fetch-cli.sh does for the CLI. build.rs reads the two themes' --bg and --border out of it, so no colour is written in Rust. The content view reports the page's theme by a navigation the app refuses (llembas-theme:<name>), and the window, the title bar and the first-run page are painted in it and remember it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
# Checks on every push to main and every pull request: formatting, lints, tests, and the page's
|
|
# JavaScript. The app is built for real only by release.yml, from a tag.
|
|
name: ci
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-22.04
|
|
timeout-minutes: 45
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: System libraries (WebKitGTK, the tray)
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libxdo-dev
|
|
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
|
with:
|
|
components: rustfmt, clippy
|
|
cache-workspaces: src-tauri
|
|
- name: The bundled LLeMbas CLI, verified
|
|
run: scripts/fetch-cli.sh
|
|
- name: Formatting
|
|
working-directory: src-tauri
|
|
run: cargo fmt --check
|
|
- name: Lints
|
|
working-directory: src-tauri
|
|
run: cargo clippy --locked --all-targets -- -D warnings
|
|
- name: Tests
|
|
working-directory: src-tauri
|
|
run: cargo test --locked
|
|
- name: The pages' JavaScript, and the script the content view runs
|
|
run: |
|
|
for f in ui/*.js src-tauri/src/*.js; do node --check "$f"; done
|
|
- name: The design tokens are the server's, as pinned
|
|
run: scripts/fetch-tokens.sh
|