name: CI on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: # lint: # name: Lint # runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v4 # - uses: actions/setup-go@v5 # with: # go-version: '1.23' # cache: false # - name: golangci-lint # uses: golangci/golangci-lint-action@v6 # with: # version: v2.8.0 test: name: Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.23' - name: Test run: go test -v -race -cover ./... build: name: Build runs-on: ubuntu-latest needs: [test] steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.23' - name: Build run: go build -v ./cmd/app docker-build: name: Docker Build runs-on: ubuntu-latest needs: [build] steps: - uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build uses: docker/build-push-action@v5 with: context: . push: false tags: app:latest cache-from: type=gha cache-to: type=gha,mode=max