name: golang on: workflow_dispatch: push: branches: [main] paths: ["**.go", "go.mod", "go.sum"] pull_request: paths: ["**.go", "go.mod", "go.sum"] jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Set up Go uses: actions/setup-go@v6 with: go-version-file: go.mod cache-dependency-path: go.mod - name: Build API run: go build -o .bin/onasty ./cmd/api/ - name: Build mailer service run: go build -o .bin/mailer ./mailer/ - name: Unit tests run: go test -v --short ./... - name: e2e tests run: go test -v ./e2e/ lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Read .tool-versions uses: marocchino/tool-versions-action@v1 id: versions - name: Golangci Lint uses: golangci/golangci-lint-action@v9 with: version: "v${{ steps.versions.outputs.golangci-lint }}" args: ./...