name: CI on: push: branches: ["main"] pull_request: branches: ["main"] jobs: backend: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.25" cache-dependency-path: backend/go.sum - name: Download dependencies working-directory: backend run: go mod download - name: Vet working-directory: backend run: go vet ./... - name: Test working-directory: backend run: go test ./... frontend: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: "22" cache: npm cache-dependency-path: frontend/package-lock.json - name: Install dependencies working-directory: frontend run: npm install - name: Build working-directory: frontend run: npm run build docker: runs-on: ubuntu-latest needs: [backend, frontend] steps: - uses: actions/checkout@v4 - name: Build backend image run: docker build ./backend - name: Build frontend image run: docker build ./frontend --build-arg VITE_API_BASE_URL=http://localhost:8080/api/v1