name: CI on: push: branches: [main] pull_request: jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.25' - name: Build run: go build ./... - name: Vet run: go vet ./... - name: Test run: go test -race ./... docker: runs-on: ubuntu-latest needs: validate if: github.event_name == 'push' steps: - uses: actions/checkout@v4 - name: Compute tags id: tags run: | echo "image=git.timemachine.center/timemachine/svc-proxy" >> "$GITHUB_OUTPUT" - name: Login to registry uses: docker/login-action@v3 with: registry: git.timemachine.center username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_TOKEN }} - name: Build and push uses: docker/build-push-action@v6 with: context: . push: true tags: | ${{ steps.tags.outputs.image }}:latest ${{ steps.tags.outputs.image }}:${{ github.sha }}