build(deps): bump @pulumi/gcp from 8.41.1 to 9.2.0 in /infrastructure/pulumi #608
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: Continuous Integration | |
on: | |
pull_request: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
meta: | |
name: Prepare metadata | |
runs-on: ubuntu-latest | |
outputs: | |
changed: ${{ steps.filter.outputs.changed }} | |
pulumi: ${{ steps.filter.outputs.pulumi }} | |
helm: ${{ steps.filter.outputs.helm }} | |
opentofu: ${{ steps.filter.outputs.opentofu }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v5 | |
- uses: dorny/paths-filter@v3.0.2 | |
id: filter | |
with: | |
list-files: shell | |
filters: | | |
changed: | |
- '!infrastructure/**' | |
pulumi: | |
- 'infrastructure/pulumi/**' | |
helm: | |
- 'infrastructure/helm/**' | |
opentofu: | |
- 'infrastructure/opentofu/**' | |
test: | |
name: Test | |
needs: | |
- meta | |
if: needs.meta.outputs.changed == 'true' | |
runs-on: ubuntu-latest | |
env: | |
VERBOSE: 1 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v5 | |
with: | |
fetch-depth: 0 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache: true | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v8 | |
with: | |
args: --timeout 5m0s | |
skip-cache: false | |
- name: Format go files | |
run: go fmt ./... | |
- name: Vet go files | |
run: go vet ./... | |
- name: Verify dependency tree | |
run: go mod verify | |
- name: Run Gosec Security Scanner | |
uses: securego/gosec@v2.22.8 | |
with: | |
args: ./... | |
- name: Run tests | |
run: go test -v ./... | |
pulumi: | |
name: Pulumi | |
needs: | |
- meta | |
if: needs.meta.outputs.pulumi == 'true' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
working-directory: ./infrastructure/pulumi | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v5 | |
- name: Setup Node | |
id: node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
cache-dependency-path: infrastructure/pulumi/package-lock.json | |
- name: Install dependencies | |
run: npm ci | |
- name: Check formatting | |
run: npm run format:check | |
- name: Lint typescript files | |
run: npm run lint | |
- name: Run tests | |
run: npm test | |
helm: | |
name: Helm | |
needs: | |
- meta | |
if: needs.meta.outputs.helm == 'true' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
working-directory: ./infrastructure/helm | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v5 | |
- name: Check Helm documentation | |
uses: losisin/helm-docs-github-action@v1 | |
with: | |
chart-search-root: infrastructure/helm | |
git-push: false | |
- name: Check values schema json | |
uses: losisin/helm-values-schema-json-action@v2 | |
with: | |
working-directory: infrastructure/helm | |
fail-on-diff: true | |
git-push: false | |
- name: Lint helm chart | |
run: helm lint . -f values.yaml --debug | |
- name: Helm unit tests | |
shell: bash | |
run: | | |
helm plugin install https://github.com/helm-unittest/helm-unittest.git | |
helm unittest . --failfast --strict --debug --color | |
opentofu: | |
name: OpenTofu | |
needs: | |
- meta | |
if: needs.meta.outputs.opentofu == 'true' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
working-directory: ./infrastructure/opentofu | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v5 | |
- name: Install OpenTofu | |
uses: opentofu/setup-opentofu@v1 | |
with: | |
tofu_version: 1.7.1 | |
- name: OpenTofu fmt | |
id: fmt | |
run: tofu fmt -check | |
- name: OpenTofu Init | |
id: init | |
run: tofu init | |
- name: OpenTofu Validate | |
id: validate | |
run: tofu validate |