Files
2026-07-26 17:42:44 +02:00

91 lines
2.2 KiB
YAML

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
frontend-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: '1.3'
- name: Install Dependencies
run: bun install --frozen-lockfile
working-directory: frontend
- name: Typecheck
run: bun run typecheck
working-directory: frontend
- name: Lint
run: bun run lint
working-directory: frontend
- name: Format Check
run: bun run format:check
working-directory: frontend
- name: Test
run: bun run test
working-directory: frontend
- name: Build
run: bun run build
working-directory: frontend
backend-check:
runs-on: ubuntu-latest
env:
SECRET_KEY: "ci-test-key"
steps:
- uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
backend-rs/target
key: cargo-${{ hashFiles('backend-rs/Cargo.lock') }}
- name: Fetch common-passwords list
run: |
mkdir -p assets
curl -fsSL -o assets/common-passwords.txt.gz \
"https://raw.githubusercontent.com/django/django/${DJANGO_PASSWORDS_TAG}/django/contrib/auth/common-passwords.txt.gz"
echo "${DJANGO_PASSWORDS_SHA256} assets/common-passwords.txt.gz" | sha256sum -c -
working-directory: backend-rs
env:
DJANGO_PASSWORDS_TAG: "5.2"
DJANGO_PASSWORDS_SHA256: "3c1baed62596de36860824eb3f436d5932d37ca8b06e59df78f5a44ec175afe4"
- name: Format Check
run: cargo fmt --check
working-directory: backend-rs
- name: Clippy
run: cargo clippy --all-targets
working-directory: backend-rs
- name: Build
run: cargo build --locked
working-directory: backend-rs
- name: Run Tests
run: cargo test --locked
working-directory: backend-rs