Merge branch 'main' into feature/move_edit_application #970
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| jobs: | |
| frontend: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| name: Checkout code | |
| with: | |
| persist-credentials: false | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9 | |
| with: | |
| package_json_file: ./frontend/package.json | |
| - name: Set up Node.js | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: "25.x.x" | |
| cache: "pnpm" | |
| cache-dependency-path: ./frontend/pnpm-lock.yaml | |
| - name: Install dependencies | |
| working-directory: ./frontend | |
| run: pnpm i --frozen-lockfile | |
| - name: Run Linter | |
| working-directory: ./frontend | |
| run: node --run lint | |
| - name: Check Formatting | |
| working-directory: ./frontend | |
| run: node --run format:check | |
| - name: Build | |
| working-directory: ./frontend | |
| run: node --run build | |
| - name: Type Checking | |
| working-directory: ./frontend | |
| run: node --run typecheck | |
| - name: Check translations | |
| working-directory: ./frontend | |
| run: node --run translations:check | |
| backend: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| id-token: write # For Codecov upload | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| name: Checkout code | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 | |
| name: Set up Go | |
| with: | |
| go-version: stable | |
| cache: true | |
| cache-dependency-path: backend/go.sum | |
| - name: Install Buf CLI | |
| uses: bufbuild/buf-action@fd21066df7214747548607aaa45548ba2b9bc1ff # v1.4.0 | |
| with: | |
| setup_only: true | |
| version: 1.66.1 | |
| - name: Verify Protobufs | |
| working-directory: ./backend | |
| run: | | |
| buf build --error-format=github-actions | |
| buf lint --error-format github-actions | |
| buf format --diff --error-format github-actions --exit-code | |
| - name: Compile Protobufs | |
| working-directory: ./backend | |
| run: | | |
| go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.11 | |
| buf generate | |
| if [[ -n "$(git status --porcelain --untracked-files=all -- internal/proto)" ]]; then | |
| echo "Generated protobuf files are out of date. Run 'buf generate' and commit the changes." | |
| git --no-pager diff -- internal/proto | |
| exit 1 | |
| fi | |
| - name: golangci-lint | |
| uses: golangci/golangci-lint-action@82606bf257cbaff209d206a39f5134f0cfbfd2ee # v9.2.1 | |
| with: | |
| version: v2.11 | |
| working-directory: ./backend | |
| - name: Install gotestsum | |
| working-directory: ./backend | |
| run: go install gotest.tools/gotestsum@v1.13.0 | |
| - name: Verify dependencies | |
| working-directory: ./backend | |
| run: go mod verify | |
| - name: Build | |
| working-directory: ./backend | |
| run: go build -v ./... | |
| - name: Run Tests | |
| working-directory: ./backend | |
| run: gotestsum -- -failfast -race -coverprofile=coverage.txt -covermode=atomic ./... | |
| - name: Upload coverage | |
| uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 | |
| with: | |
| use_oidc: true | |
| fail_ci_if_error: true |