chore(deps): Update go to 1.25.5 #2402
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: CI | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| merge_group: | |
| types: [checks_requested] | |
| env: | |
| DOCKER_BUILDX_PLATFORMS: linux/amd64,linux/arm64 | |
| jobs: | |
| changes: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| outputs: | |
| actions: ${{ steps.changes.outputs.actions }} | |
| charts: ${{ steps.changes.outputs.charts }} | |
| chartyaml: ${{ steps.changes.outputs.chartyaml }} | |
| go: ${{ steps.changes.outputs.go }} | |
| tag: ${{ steps.changes.outputs.tag }} | |
| tests: ${{ steps.changes.outputs.tests }} | |
| make: ${{ steps.changes.outputs.make }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: "./.github/actions/changes" | |
| id: changes | |
| # Make sure that Kubebuilder autogenerated files are up to date. | |
| kubebuilder-diff: | |
| name: Kubebuilder Diff | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| - uses: DeterminateSystems/magic-nix-cache-action@b8276522d77f21bf19d3574e5bc99186a6c7aa6c | |
| - name: Generate manifests | |
| run: nix develop --command make manifests | |
| - name: Fail if there are uncommited manifest changes | |
| run: | | |
| git diff --exit-code | |
| git diff --cached --exit-code | |
| build-images: | |
| name: Build Images | |
| needs: | |
| - changes | |
| - kubebuilder-diff | |
| if: needs.changes.outputs.go == 'true' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v2 | |
| - id: buildx-setup | |
| name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v2 | |
| with: | |
| platforms: ${{ env.DOCKER_BUILDX_PLATFORMS }} | |
| - name: Build | |
| uses: docker/build-push-action@v3 | |
| with: | |
| context: . | |
| platforms: ${{ steps.buildx-setup.outputs.platforms }} | |
| push: false | |
| tags: ngrok/ngrok-operator:latest | |
| go-mod-tidy: | |
| name: Go Mod Tidy Check | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| if: | | |
| (needs.changes.outputs.go == 'true') | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| - uses: DeterminateSystems/magic-nix-cache-action@b8276522d77f21bf19d3574e5bc99186a6c7aa6c | |
| - run: go mod tidy | |
| - run: git diff --exit-code go.mod | |
| - run: git diff --exit-code go.sum | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| - kubebuilder-diff | |
| if: | | |
| (github.event_name == 'push' && github.ref_name == 'main') | |
| || | |
| ( | |
| (needs.changes.outputs.actions == 'true') || | |
| (needs.changes.outputs.go == 'true') || | |
| (needs.changes.outputs.charts == 'true') || | |
| (needs.changes.outputs.chartyaml == 'true') || | |
| (needs.changes.outputs.tests == 'true') || | |
| (needs.changes.outputs.make == 'true') | |
| ) | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| - uses: DeterminateSystems/magic-nix-cache-action@b8276522d77f21bf19d3574e5bc99186a6c7aa6c | |
| - uses: "./.github/actions/build-and-test" | |
| with: | |
| # this workflow is for incoming PRs, so we want to skip e2e tests | |
| # and deploy the demo mode because our api keys are not available | |
| # on contributor's forks | |
| run-e2e: false | |
| - if: github.repository == 'ngrok/ngrok-operator' | |
| name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| helm: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| needs: [changes] | |
| if: needs.changes.outputs.charts == 'true' | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| - uses: DeterminateSystems/magic-nix-cache-action@b8276522d77f21bf19d3574e5bc99186a6c7aa6c | |
| - name: Lint Helm Chart | |
| run: nix develop --command make helm-lint | |
| - name: Helm Unit Tests | |
| run: nix develop --command make helm-test | |
| e2e: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - changes | |
| - kubebuilder-diff | |
| # Only run one e2e test at a time to avoid stomping on each other | |
| concurrency: | |
| group: e2e | |
| cancel-in-progress: false | |
| timeout-minutes: 20 | |
| # Only run the e2e tests if on the main branch or in a merge queue and | |
| # files have changed that require e2e tests | |
| if: | | |
| (github.repository == 'ngrok/ngrok-operator') && | |
| ( | |
| (github.event_name == 'push' && github.ref_name == 'main') || | |
| (github.event_name == 'merge_group') | |
| ) && | |
| ( | |
| (needs.changes.outputs.go == 'true') || | |
| (needs.changes.outputs.charts == 'true') || | |
| (needs.changes.outputs.chartyaml == 'true') || | |
| (needs.changes.outputs.tests == 'true') || | |
| (needs.changes.outputs.make == 'true') | |
| ) | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: nixbuild/nix-quick-install-action@v34 | |
| - uses: DeterminateSystems/magic-nix-cache-action@b8276522d77f21bf19d3574e5bc99186a6c7aa6c | |
| - uses: "./.github/actions/build-and-test" | |
| with: | |
| run-e2e: true | |
| ngrok-api-key: ${{ secrets.NGROK_CI_API_KEY }} | |
| ngrok-authtoken: ${{ secrets.NGROK_CI_AUTHTOKEN }} |