name: CI on: pull_request: push: branches: - main - master permissions: contents: read concurrency: group: ci-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: backend: name: Backend runs-on: ubuntu-latest defaults: run: working-directory: backend steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version: "1.24.x" cache-dependency-path: backend/go.sum - name: Download dependencies run: go mod download - name: Vet run: go vet ./... - name: Test run: go test -race -count=1 ./... frontend: name: Frontend runs-on: ubuntu-latest defaults: run: working-directory: frontend steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: "22" cache: npm cache-dependency-path: frontend/package-lock.json - name: Install dependencies run: npm ci - name: Build run: npm run build