diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml new file mode 100644 index 0000000..614f29f --- /dev/null +++ b/.forgejo/workflows/ci.yml @@ -0,0 +1,57 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + check-backend: + runs-on: docker + container: + image: rust:1.90 + + steps: + - uses: actions/checkout@v4 + - 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' + + - 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 +