Generate one file per resource in every layer #310
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Go Copier API Build | |
| on: | |
| push: | |
| paths: | |
| - go/** | |
| - .github/workflows/build-go-pipeline.yaml | |
| - .github/actions/setup-copier-template/** | |
| branches: | |
| - main | |
| pull_request: | |
| paths: | |
| - go/** | |
| - .github/workflows/build-go-pipeline.yaml | |
| - .github/actions/setup-copier-template/** | |
| jobs: | |
| build-go: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| # Windows and macOS risks don't depend on the cloud, so each runs once. | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| template-type: | |
| - go | |
| cloud-service: | |
| - "Azure Function App" | |
| - "GCP Cloud Function" | |
| - "AWS Lambda" | |
| go-version: | |
| - "1.27" | |
| fixture: | |
| - single | |
| - edge | |
| include: | |
| - os: windows-latest | |
| template-type: go | |
| cloud-service: "Azure Function App" | |
| go-version: "1.27" | |
| fixture: single | |
| - os: macos-latest | |
| template-type: go | |
| cloud-service: "AWS Lambda" | |
| go-version: "1.27" | |
| fixture: single | |
| fail-fast: false | |
| steps: | |
| - name: Check out | |
| uses: actions/checkout@v7 | |
| - name: Setup Copier Template | |
| uses: ./.github/actions/setup-copier-template | |
| with: | |
| template-language: ${{ matrix.template-type }} | |
| template-cloud-service: ${{ matrix.cloud-service }} | |
| resources-fixture: ${{ matrix.fixture }} | |
| - name: Setup Go ${{ matrix.go-version }} | |
| uses: actions/setup-go@v7 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| - name: Install dependencies | |
| run: make install | |
| working-directory: KittenClaws | |
| - name: Check formatting | |
| run: test -z "$(gofmt -l .)" || { gofmt -l .; exit 1; } | |
| working-directory: KittenClaws | |
| shell: bash | |
| - name: Vet | |
| run: go vet ./... | |
| working-directory: KittenClaws | |
| - name: Build | |
| run: make build | |
| working-directory: KittenClaws | |
| - name: Run lint | |
| uses: golangci/golangci-lint-action@v9 | |
| with: | |
| version: v2.14.0 | |
| working-directory: KittenClaws | |
| - name: Test with the Go CLI | |
| run: make test-unit | |
| working-directory: KittenClaws | |
| - name: Install govulncheck | |
| run: go install golang.org/x/vuln/cmd/govulncheck@latest | |
| - name: Run dependency vulnerability scan | |
| continue-on-error: true | |
| uses: ./.github/actions/dependency-audit | |
| with: | |
| command: govulncheck ./... | |
| title: Go dependency vulnerability scan (${{ matrix.cloud-service }}, ${{ matrix.fixture }}) |