diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a1486a0d42..4007ea72ae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,13 +40,13 @@ jobs: k8s_latest: ${{ steps.vars.outputs.k8s_latest }} steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 - name: Output Variables id: vars run: | echo "k8s_latest=$(grep -m1 'FROM kindest/node' > $GITHUB_OUTPUT - name: Setup Golang Environment - uses: actions/setup-go@v3 + uses: actions/setup-go@c4a742cab115ed795e34d4513e2cf7d472deb55f # v3.3.1 with: go-version-file: go.mod cache: true @@ -71,16 +71,16 @@ jobs: needs: checks steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 with: fetch-depth: 0 - name: Setup Golang Environment - uses: actions/setup-go@v3 + uses: actions/setup-go@c4a742cab115ed795e34d4513e2cf7d472deb55f # v3.3.1 with: go-version-file: go.mod cache: true - name: Build binary - uses: goreleaser/goreleaser-action@v3 + uses: goreleaser/goreleaser-action@b508e2e3ef3b19d4e4146d4f8fb3ba9db644a757 # v3.2.0 with: version: latest args: build --snapshot --rm-dist --single-target --id kubernetes-ingress @@ -89,7 +89,7 @@ jobs: GOPATH: ${{ needs.checks.outputs.go_path }} - name: Store Artifacts in Cache - uses: actions/cache@v3 + uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # v3.0.11 with: path: ${{ github.workspace }}/dist key: nginx-ingress-${{ github.run_id }}-${{ github.run_number }}-single @@ -100,16 +100,16 @@ jobs: needs: checks steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 - name: Setup Golang Environment - uses: actions/setup-go@v3 + uses: actions/setup-go@c4a742cab115ed795e34d4513e2cf7d472deb55f # v3.3.1 with: go-version-file: go.mod cache: true - name: Run Tests run: make cover - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # v3.1.1 with: files: ./coverage.txt @@ -126,16 +126,16 @@ jobs: type: plus steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 - name: Fetch Cached Artifacts - uses: actions/cache@v3 + uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # v3.0.11 with: path: ${{ github.workspace }}/dist key: nginx-ingress-${{ github.run_id }}-${{ github.run_number }}-single - name: Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@8c0edbc76e98fa90f69d9a2c020dcb50019dc325 # v2.2.1 - name: Build Docker Image ${{ matrix.image }} - uses: docker/build-push-action@v3 + uses: docker/build-push-action@c56af957549030174b10d6867f20e78cfd7debc5 # v3.2.0 with: file: build/Dockerfile context: '.' @@ -230,7 +230,7 @@ jobs: matrix: ${{ fromJSON(needs.setup-matrix.outputs.matrix) }} steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 - name: Run Smoke Tests id: smoke-tests uses: ./.github/actions/smoke-tests @@ -241,7 +241,7 @@ jobs: nginx-crt: ${{ contains(matrix.images.image, 'nap') && secrets.NGINX_AP_CRT || secrets.NGINX_CRT }} nginx-key: ${{ contains(matrix.images.image, 'nap') && secrets.NGINX_AP_KEY || secrets.NGINX_KEY }} - name: Upload Test Results - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb # v3.1.1 with: name: ${{ steps.smoke-tests.outputs.test-results-name }} path: ${{ github.workspace }}/tests/${{ steps.smoke-tests.outputs.test-results-name }}.html @@ -253,21 +253,21 @@ jobs: needs: [checks, smoke-tests, helm-tests] steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 with: fetch-depth: 0 - name: Setup Golang Environment - uses: actions/setup-go@v3 + uses: actions/setup-go@c4a742cab115ed795e34d4513e2cf7d472deb55f # v3.3.1 with: go-version-file: go.mod cache: true - - uses: actions/setup-node@v3 + - uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3.5.1 - run: npm install js-yaml continue-on-error: true if: startsWith(github.ref, 'refs/tags/') - name: Publish release on tag - uses: actions/github-script@v6 + uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # v6.3.3 continue-on-error: true with: github-token: ${{secrets.GITHUB_TOKEN}} @@ -306,10 +306,10 @@ jobs: if: startsWith(github.ref, 'refs/tags/') - name: Download Syft - uses: anchore/sbom-action/download-syft@v0.13.1 + uses: anchore/sbom-action/download-syft@06e109483e6aa305a2b2395eabae554e51530e1d # v0.13.1 - name: Build binaries - uses: goreleaser/goreleaser-action@v3 + uses: goreleaser/goreleaser-action@b508e2e3ef3b19d4e4146d4f8fb3ba9db644a757 # v3.2.0 with: version: latest args: ${{ startsWith(github.ref, 'refs/tags/') && 'release' || 'build --snapshot' }} ${{ github.event_name == 'pull_request' && '--single-target' || '' }} --rm-dist @@ -330,7 +330,7 @@ jobs: AZURE_BUCKET_NAME: ${{ secrets.AZURE_BUCKET_NAME }} - name: Store Artifacts in Cache - uses: actions/cache@v3 + uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # v3.0.11 with: path: ${{ github.workspace }}/dist key: nginx-ingress-${{ github.run_id }}-${{ github.run_number }}-multi @@ -400,7 +400,7 @@ jobs: if: ${{ github.event_name == 'push' }} steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 - name: Output Variables id: var run: | @@ -418,7 +418,7 @@ jobs: - name: Package run: helm package --version ${{ steps.var.outputs.helm_version }} ${{ env.HELM_CHART_DIR }} - name: Upload Chart - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb # v3.1.1 with: name: helm-chart path: ${{ github.workspace }}/nginx-ingress-${{ steps.var.outputs.helm_version }}.tgz @@ -430,7 +430,7 @@ jobs: if: ${{ github.event_name == 'push' }} steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 with: repository: nginxinc/helm-charts fetch-depth: 1 @@ -438,7 +438,7 @@ jobs: - name: Remove previous Chart run: rm -f ${{ github.workspace }}/${{ needs.package-helm.outputs.type }}/nginx-ingress-${{ needs.package-helm.outputs.version }}.tgz - name: Retrieve latest Helm Chart - uses: actions/download-artifact@v3 + uses: actions/download-artifact@9782bd6a9848b53b110e712e20e42d89988822b7 # v3.0.1 with: name: helm-chart path: ${{ github.workspace }}/${{ needs.package-helm.outputs.type }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index ebc5924c66..d4e818b9e9 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -32,11 +32,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@678fc3afe258fb2e0cdc165ccf77b85719de7b3c # v2.1.33 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -47,7 +47,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@678fc3afe258fb2e0cdc165ccf77b85719de7b3c # v2.1.33 # â„šī¸ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -61,4 +61,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@678fc3afe258fb2e0cdc165ccf77b85719de7b3c # v2.1.33 diff --git a/.github/workflows/dockerhub-description.yml b/.github/workflows/dockerhub-description.yml index d26d00c699..647116f538 100644 --- a/.github/workflows/dockerhub-description.yml +++ b/.github/workflows/dockerhub-description.yml @@ -17,14 +17,14 @@ jobs: runs-on: ubuntu-22.04 if: ${{ github.event.repository.fork == false }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 - name: Modify readme for DockerHub run: | sed -i '3,4d' README.md - name: Docker Hub Description - uses: peter-evans/dockerhub-description@v3 + uses: peter-evans/dockerhub-description@93b93397c27ed52b4055b8c6b2f8d92456ab3c56 # v3.1.2 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} diff --git a/.github/workflows/fossa.yml b/.github/workflows/fossa.yml index b96993915b..71a80c4ada 100644 --- a/.github/workflows/fossa.yml +++ b/.github/workflows/fossa.yml @@ -24,8 +24,8 @@ jobs: if: ${{ github.event.repository.fork == false }} steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 - name: Scan - uses: fossas/fossa-action@v1 + uses: fossas/fossa-action@f61a4c0c263690f2ddb54b9822a719c25a7b608f # v1.3.1 with: api-key: ${{ secrets.FOSSA_TOKEN }} diff --git a/.github/workflows/issues.yaml b/.github/workflows/issues.yaml index 87814d8051..a95c2ed69f 100644 --- a/.github/workflows/issues.yaml +++ b/.github/workflows/issues.yaml @@ -18,7 +18,7 @@ jobs: echo "::set-output name=text::$text" - name: Check if Issue author is Org member id: membercheck - uses: actions/github-script@v6 + uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # v6.3.3 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | @@ -36,7 +36,7 @@ jobs: } return member - name: Send message - uses: actions/github-script@v6 + uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # v6.3.3 if: steps.membercheck.outputs.result == 'false' with: github-token: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index b6dae5536f..4aa339d384 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -28,14 +28,14 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 - name: Setup Golang Environment - uses: actions/setup-go@v3 + uses: actions/setup-go@c4a742cab115ed795e34d4513e2cf7d472deb55f # v3.3.1 with: go-version-file: go.mod cache: true - name: Lint Code - uses: golangci/golangci-lint-action@v3 + uses: golangci/golangci-lint-action@07db5389c99593f11ad7b44463c2d4233066a9b1 # v3.3.0 with: only-new-issues: true @@ -44,7 +44,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout Repository - uses: actions/checkout@v3 - - uses: reviewdog/action-actionlint@v1 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 + - uses: reviewdog/action-actionlint@5c714fa8ca7b5ea8d929d273ed5bb2e3a4a7c019 # v1.34.1 with: actionlint_flags: -shellcheck "" diff --git a/.github/workflows/notifications.yml b/.github/workflows/notifications.yml index 6ab67cdb32..a5c30e5efa 100644 --- a/.github/workflows/notifications.yml +++ b/.github/workflows/notifications.yml @@ -19,7 +19,7 @@ jobs: if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.repository.fork == false }} steps: - name: Data - uses: actions/github-script@v6 + uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # v6.3.3 continue-on-error: true id: data with: @@ -40,7 +40,7 @@ jobs: } - name: Send Notification - uses: 8398a7/action-slack@v3 + uses: 8398a7/action-slack@a189acbf0b7ea434558662ae25a0de71df69a435 # v3.14.0 with: status: custom custom_payload: | diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 837fc6a383..2ff136ffb0 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -25,9 +25,9 @@ jobs: name: Create Draft Release runs-on: ubuntu-22.04 steps: - - uses: actions/setup-node@v3 + - uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3.5.1 - run: npm install semver - - uses: actions/github-script@v6 + - uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 # v6.3.3 continue-on-error: true with: script: | diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 2789904203..fa13a4461c 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -13,7 +13,7 @@ jobs: pull-requests: write # for actions/stale to close stale PRs runs-on: ubuntu-22.04 steps: - - uses: actions/stale@v6 + - uses: actions/stale@5ebf00ea0e4c1561e9b43a292ed34424fb1d4578 # v6.0.1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-issue-message: 'This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 10 days.' diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index 0b9380d2b1..2bd5a3488a 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -19,7 +19,7 @@ jobs: if: ${{ github.event.repository.fork == false }} steps: - name: Repo Sync - uses: wei/git-sync@v3 + uses: wei/git-sync@55c6b63b4f21607da0e9877ca9b4d11a29fc6d83 # v3.0.0 with: source_repo: "nginxinc/kubernetes-ingress" source_branch: "main" @@ -43,9 +43,9 @@ jobs: if: ${{ github.event.repository.fork == false }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 - name: Sync Labels - uses: micnncim/action-label-syncer@v1 + uses: micnncim/action-label-syncer@3abd5ab72fda571e69fffd97bd4e0033dd5f495c # v1.3.0 with: repository: ${{ matrix.repo }} token: ${{ secrets.NGINX_PAT }} diff --git a/.github/workflows/update-docker-images.yml b/.github/workflows/update-docker-images.yml index 3ce144044f..85a32d21ee 100644 --- a/.github/workflows/update-docker-images.yml +++ b/.github/workflows/update-docker-images.yml @@ -26,7 +26,7 @@ jobs: k8s_version: ${{ steps.vars.outputs.k8s_version }} steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 with: fetch-depth: 0 - name: Set KIC version @@ -35,7 +35,7 @@ jobs: tag="$(git tag --sort=-version:refname | head -n1)" echo "tag=${tag//v}" >> $GITHUB_OUTPUT - name: Checkout Repository at ${{ steps.kic.outputs.tag }} - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 with: ref: refs/tags/v${{ steps.kic.outputs.tag }} - name: Set NGINX versions @@ -71,7 +71,7 @@ jobs: echo "tag=${{ needs.variables.outputs.kic-tag }}${dist}" >> $GITHUB_OUTPUT - name: Check if update available for ${{ matrix.base_image.version }} id: update - uses: lucacome/docker-image-update-checker@v1 + uses: lucacome/docker-image-update-checker@93aeebde51b01e63284197bae89f9a1d6dd1921f # v1.1.1 with: base-image: ${{ matrix.base_image.version}} image: nginx/nginx-ingress:${{ steps.dist.outputs.tag }} @@ -85,12 +85,12 @@ jobs: needs: [check, variables] steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 with: fetch-depth: 0 ref: refs/tags/v${{ needs.variables.outputs.kic-tag }} - name: Setup Golang Environment - uses: actions/setup-go@v3 + uses: actions/setup-go@c4a742cab115ed795e34d4513e2cf7d472deb55f # v3.3.1 with: go-version-file: go.mod cache: true @@ -98,7 +98,7 @@ jobs: id: go run: echo "go_path=$(go env GOPATH)" >> $GITHUB_OUTPUT - name: Build binaries - uses: goreleaser/goreleaser-action@v3 + uses: goreleaser/goreleaser-action@b508e2e3ef3b19d4e4146d4f8fb3ba9db644a757 # v3.2.0 with: version: latest args: build --rm-dist --id kubernetes-ingress @@ -106,7 +106,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GOPATH: ${{ steps.go.outputs.go_path }} - name: Store Artifacts in Cache - uses: actions/cache@v3 + uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # v3.0.11 with: path: ${{ github.workspace }}/dist key: nginx-ingress-${{ github.run_id }}-${{ github.run_number }} @@ -129,12 +129,12 @@ jobs: needs-updating: ${{ needs.check.outputs.needs-updating-ubi }} steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 with: ref: refs/tags/v${{ needs.variables.outputs.kic-tag }} if: ${{ matrix.needs-updating == 'true' }} - name: Fetch Cached Artifacts - uses: actions/cache@v3 + uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # v3.0.11 with: path: ${{ github.workspace }}/dist key: nginx-ingress-${{ github.run_id }}-${{ github.run_number }} @@ -148,7 +148,7 @@ jobs: k8s-version: ${{ needs.variables.outputs.k8s_version }} if: ${{ matrix.needs-updating == 'true' }} - name: Upload Test Results - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb # v3.1.1 with: name: ${{ steps.smoke-tests.outputs.test-results-name }} path: ${{ github.workspace }}/tests/${{ steps.smoke-tests.outputs.test-results-name }}.html