Skip to content

Commit 55ffb24

Browse files
committed
Initial commit
0 parents  commit 55ffb24

253 files changed

Lines changed: 64793 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cargo/config.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# SPDX-FileCopyrightText: 2026 VisorCraft LLC
2+
# SPDX-License-Identifier: GPL-3.0-only
3+
[build]

.github/workflows/ci.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# SPDX-FileCopyrightText: 2026 VisorCraft LLC
2+
# SPDX-License-Identifier: GPL-3.0-only
3+
#
4+
# Lean per-push gate: a single job mirroring `just ci`
5+
# (fmt-check -> clippy -> test). Doc-only changes are path-ignored.
6+
# No `${{ github.event.* }}` interpolation in run blocks (injection-safe).
7+
8+
name: ci
9+
10+
on:
11+
push:
12+
branches: [master]
13+
paths-ignore:
14+
- '**.md'
15+
- 'docs/**'
16+
- 'LICENSE'
17+
- 'packaging/screenshots/**'
18+
pull_request:
19+
branches: [master]
20+
paths-ignore:
21+
- '**.md'
22+
- 'docs/**'
23+
- 'LICENSE'
24+
- 'packaging/screenshots/**'
25+
26+
concurrency:
27+
group: ci-${{ github.ref }}
28+
cancel-in-progress: true
29+
30+
env:
31+
CARGO_TERM_COLOR: always
32+
RUST_BACKTRACE: 1
33+
QMAKE: /usr/bin/qmake6
34+
QT_VERSION_MAJOR: "6"
35+
36+
jobs:
37+
test:
38+
name: fmt + clippy + test
39+
runs-on: ubuntu-latest
40+
steps:
41+
- uses: actions/checkout@v5
42+
- name: Install Qt 6 + C++ toolchain
43+
run: |
44+
sudo apt-get update
45+
sudo apt-get install -y --no-install-recommends \
46+
qt6-base-dev \
47+
qt6-declarative-dev \
48+
qt6-declarative-dev-tools \
49+
qt6-tools-dev \
50+
libgl1-mesa-dev \
51+
clang
52+
- uses: dtolnay/rust-toolchain@1.95.0
53+
with:
54+
components: rustfmt, clippy
55+
- uses: Swatinem/rust-cache@v2
56+
- name: Format
57+
run: cargo fmt --all -- --check
58+
- name: Clippy
59+
run: cargo clippy --workspace --all-targets -- -D warnings
60+
- name: Test
61+
run: cargo test --workspace --locked
62+
63+
gui-smoke:
64+
name: headless GUI smoke
65+
runs-on: ubuntu-latest
66+
needs: test
67+
steps:
68+
- uses: actions/checkout@v5
69+
- name: Install Qt 6 + xvfb + software OpenGL
70+
run: |
71+
sudo apt-get update
72+
sudo apt-get install -y --no-install-recommends \
73+
qt6-base-dev \
74+
qt6-declarative-dev \
75+
qt6-declarative-dev-tools \
76+
qt6-tools-dev \
77+
libgl1-mesa-dev \
78+
xvfb \
79+
clang
80+
- uses: dtolnay/rust-toolchain@1.95.0
81+
- uses: Swatinem/rust-cache@v2
82+
- name: GUI smoke
83+
run: ./scripts/gui_smoke.sh

0 commit comments

Comments
 (0)