Compare commits

...

1 commit

Author SHA1 Message Date
09a59e3647 Forgejo Action: Run npm and cargo commands in the CI.
All checks were successful
Check / Backend (pull_request) Successful in 14m13s
Check / Frontend (pull_request) Successful in 2m0s
2025-09-27 00:49:57 -07:00
5 changed files with 4397 additions and 1 deletions

77
.forgejo/workflows/ci.yml Normal file
View file

@ -0,0 +1,77 @@
name: Check
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
check-backend:
name: Backend
runs-on: docker
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Install Rust
uses: https://codeberg.org/wackbyte/rust-toolchain@trunk
with:
toolchain: stable
components: rustfmt, clippy
- name: Cache
uses: https://github.com/Swatinem/rust-cache@v2
with:
# Don't cache ~/.cargo/bin since we restore the cache after we install things there
cache-bin: "false"
- name: "Check Format"
run: cargo fmt --check
- name: "Build"
run: |
# hurl needs libxml needs libclang
apt update && apt install -y clang
cargo build --tests
- name: "Lint"
run: |
rustup component add clippy
cargo clippy
- name: "Unit Tests"
run: |
cargo test -- --skip api
- name: "Integration Tests"
run: cargo test --test api
check-frontend:
name: Frontend
runs-on: docker
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
cache: "npm"
cache-dependency-path: 'frontend/package-lock.json'
node-version: '20'
- name: Install dependencies
run: npm ci
working-directory: frontend
- name: Check Format
run: "npm run format:check"
working-directory: frontend
- name: Lint
run: npm run lint
working-directory: frontend
- name: Typecheck
run: npm run typecheck || echo "Failed"
working-directory: frontend
- name: Test
run: npm run test
working-directory: frontend

1
.gitignore vendored
View file

@ -1 +1,2 @@
.claude/settings.local.json
target/

4315
Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

3
Cargo.toml Normal file
View file

@ -0,0 +1,3 @@
[workspace]
resolver = "3"
members = ["backend"]

View file

@ -23,7 +23,7 @@ fmt: fmt-backend fmt-frontend
fmt-check: fmt-check-backend fmt-check-frontend
lint: lint-backend lint-frontend
lint: lint-backend lint-frontend typecheck-frontend
check: fmt-check lint test