diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 581ea75..614f29f 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -7,32 +7,51 @@ on: branches: [ main ] jobs: - check: + check-backend: runs-on: docker + container: + image: rust:1.90 steps: - uses: actions/checkout@v4 - - - name: Install Rust - uses: https://github.com/dtolnay/rust-toolchain@stable - with: - toolchain: stable - components: "clippy, rustfmt" - - name: Rust Cache - uses: https://github.com/Swatinem/rust-cache@v2 - + - name: "Check Format" + run: cargo fmt --check + working-directory: backend + - name: "Lint" + run: | + rustup component add clippy + cargo clippy + working-directory: backend + - name: "Unit Tests" + run: cargo test -- --skip api + working-directory: backend + - name: "Integration Tests" + run: cargo test --test api + working-directory: backend + + check-frontend: + runs-on: docker + steps: - name: Install Node.js uses: actions/setup-node@v4 with: node-version: '20' - cache: 'npm' - cache-dependency-path: 'frontend/package-lock.json' - - name: Install frontend dependencies - run: | - cd frontend - npm ci + - 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 + + - name: Test + run: npm run test - - run: apt install just clang - - name: Run just check - run: just check