name: test # Lint + short unit tests only. Integration tests needing Postgres/ffmpeg # run locally via docker-compose; they should guard with testing.Short(). on: push: branches: [dev] pull_request: branches: [main] jobs: test: runs-on: go-ci steps: - name: Checkout uses: actions/checkout@v4 - name: Detect Go project id: gomod shell: bash run: | if [ -f go.mod ]; then echo "present=true" >> "$GITHUB_OUTPUT" else echo "present=false" >> "$GITHUB_OUTPUT" echo "::notice::No go.mod yet — Go steps will be skipped until the skeleton lands" fi - name: Toolchain versions if: steps.gomod.outputs.present == 'true' run: | go version golangci-lint --version - name: go vet if: steps.gomod.outputs.present == 'true' run: go vet ./... - name: golangci-lint if: steps.gomod.outputs.present == 'true' run: golangci-lint run ./... - name: go test (short, race) if: steps.gomod.outputs.present == 'true' run: go test -short -race ./...