From cfc2354c604c3bf008596452be22ebbced262ca0 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 10 Aug 2026 12:14:33 +0200 Subject: [PATCH] chore(ci): upgrade actions to Node 24 runtimes GitHub deprecated the Node.js 20 runtime; actions declaring `runs.using: node20` are force-run on Node 24 and will stop working once the fallback is removed. These reusable workflows run inside consumer repos, so every node20 action pinned here emits the deprecation warning in those repos' runs. Bumps each action to the newest major that declares `runs.using: node24`: actions/cache (+ /restore, /save) v4 -> v6 actions/upload-artifact v4 -> v7 aws-actions/configure-aws-credentials v4 -> v6 hashicorp/setup-terraform v3 -> v4 terraform-linters/setup-tflint v4 -> v6 docker/build-push-action v5 -> v7 docker/login-action v3 -> v4 docker/metadata-action v5 -> v6 docker/setup-buildx-action v3 -> v4 arduino/setup-protoc has no Node 24 release upstream (v3 is the latest and is still node20) and is left as-is. Co-Authored-By: Claude Opus 5 --- .github/workflows/build-publish.yml | 10 +++++----- .github/workflows/ci-check-infra.yml | 18 +++++++++--------- .github/workflows/ci-plan-infra.yml | 8 ++++---- .github/workflows/deploy-app.yml | 2 +- .github/workflows/deploy-infra.yml | 6 +++--- .github/workflows/release-app.yml | 10 +++++----- examples/sub-validate.yml | 4 ++-- 7 files changed, 29 insertions(+), 29 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 2a11fdd..9dbdc90 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -43,7 +43,7 @@ jobs: submodules: recursive - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v6 with: role-to-assume: ${{ inputs.aws-role-arn }} aws-region: ${{ inputs.aws-region }} @@ -55,7 +55,7 @@ jobs: mask-password: 'true' - name: Login to GitHub Container Registry - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ghcr.io username: ${{ github.actor }} @@ -64,7 +64,7 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v6 with: images: | ghcr.io/${{ github.repository }} @@ -80,10 +80,10 @@ jobs: # type=raw,value=latest,enable={{is_default_branch}} - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Build, tag, and push image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: context: . push: true diff --git a/.github/workflows/ci-check-infra.yml b/.github/workflows/ci-check-infra.yml index 95d764a..e220fc2 100644 --- a/.github/workflows/ci-check-infra.yml +++ b/.github/workflows/ci-check-infra.yml @@ -38,7 +38,7 @@ jobs: token: ${{ secrets.PRIVATE_SUBMODULE_ACCESS_TOKEN || github.token }} - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 + uses: hashicorp/setup-terraform@v4 with: cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} @@ -57,12 +57,12 @@ jobs: token: ${{ secrets.PRIVATE_SUBMODULE_ACCESS_TOKEN || github.token }} - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 + uses: hashicorp/setup-terraform@v4 with: cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} - name: Cache Terraform data - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ${{ inputs.tf-directory }}/.terraform key: terraform-${{ hashFiles('${{ inputs.tf-directory }}/.terraform.lock.hcl') }} @@ -86,12 +86,12 @@ jobs: token: ${{ secrets.PRIVATE_SUBMODULE_ACCESS_TOKEN || github.token }} - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 + uses: hashicorp/setup-terraform@v4 with: cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} - name: Cache Terraform data - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ${{ inputs.tf-directory }}/.terraform key: terraform-${{ hashFiles('${{ inputs.tf-directory }}/.terraform.lock.hcl') }} @@ -122,12 +122,12 @@ jobs: token: ${{ secrets.PRIVATE_SUBMODULE_ACCESS_TOKEN || github.token }} - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 + uses: hashicorp/setup-terraform@v4 with: cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} - name: Cache Terraform data - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ${{ inputs.tf-directory }}/.terraform key: terraform-${{ hashFiles('${{ inputs.tf-directory }}/.terraform.lock.hcl') }} @@ -137,12 +137,12 @@ jobs: run: terraform init -no-color - name: Setup TFLint - uses: terraform-linters/setup-tflint@v4 + uses: terraform-linters/setup-tflint@v6 with: tflint_version: v0.45.0 - name: Cache `tflint` plugins - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ~/.tflint.d/plugins key: tflint-${{ hashFiles('${{ inputs.tf-directory }}/.tflint.hcl') }} diff --git a/.github/workflows/ci-plan-infra.yml b/.github/workflows/ci-plan-infra.yml index e486efc..dd79b3f 100644 --- a/.github/workflows/ci-plan-infra.yml +++ b/.github/workflows/ci-plan-infra.yml @@ -71,7 +71,7 @@ jobs: token: ${{ secrets.PRIVATE_SUBMODULE_ACCESS_TOKEN || github.token }} - name: Configure AWS Credentials for Monitoring account - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v6 with: role-to-assume: ${{ inputs.aws-role-monitoring-arn }} aws-region: ${{ inputs.aws-region }} @@ -84,12 +84,12 @@ jobs: key-prefix: ${{ github.event.repository.name }} - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 + uses: hashicorp/setup-terraform@v4 with: cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} - name: Cache Terraform data - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ${{ inputs.tf-directory }}/.terraform key: terraform-${{ hashFiles('${{ inputs.tf-directory }}/.terraform.lock.hcl') }} @@ -115,7 +115,7 @@ jobs: - name: Upload Plan Output if: always() && github.event_name == 'pull_request' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: terraform-plan-${{ inputs.stage }} path: /tmp/plan_output.txt diff --git a/.github/workflows/deploy-app.yml b/.github/workflows/deploy-app.yml index ca0c90a..bfee91c 100644 --- a/.github/workflows/deploy-app.yml +++ b/.github/workflows/deploy-app.yml @@ -65,7 +65,7 @@ jobs: task-name: ${{ inputs.task-name }} - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v6 with: role-to-assume: ${{ inputs.aws-role-arn }} aws-region: ${{ inputs.aws-region }} diff --git a/.github/workflows/deploy-infra.yml b/.github/workflows/deploy-infra.yml index 6703b75..6722948 100644 --- a/.github/workflows/deploy-infra.yml +++ b/.github/workflows/deploy-infra.yml @@ -68,7 +68,7 @@ jobs: token: ${{ secrets.PRIVATE_SUBMODULE_ACCESS_TOKEN || github.token }} - name: Configure AWS Credentials for Monitoring account - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v6 with: role-to-assume: ${{ inputs.aws-role-monitoring-arn }} aws-region: ${{ inputs.aws-region }} @@ -81,12 +81,12 @@ jobs: key-prefix: ${{ github.event.repository.name }} - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 + uses: hashicorp/setup-terraform@v4 with: cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }} - name: Cache Terraform data - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: ${{ inputs.tf-directory }}/.terraform key: terraform-${{ hashFiles('${{ inputs.tf-directory }}/.terraform.lock.hcl') }} diff --git a/.github/workflows/release-app.yml b/.github/workflows/release-app.yml index e358931..0eff2f2 100644 --- a/.github/workflows/release-app.yml +++ b/.github/workflows/release-app.yml @@ -83,10 +83,10 @@ jobs: submodules: recursive - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Build image to tarball - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 with: context: . tags: release-image:${{ needs.update_version.outputs.version }} @@ -117,7 +117,7 @@ jobs: packages: write steps: - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v6 with: role-to-assume: ${{ matrix.env.role }} aws-region: ${{ inputs.aws-region }} @@ -129,7 +129,7 @@ jobs: mask-password: 'true' - name: Login to GitHub Container Registry - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ghcr.io username: ${{ github.actor }} @@ -147,7 +147,7 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v6 with: images: | ghcr.io/${{ github.repository }} diff --git a/examples/sub-validate.yml b/examples/sub-validate.yml index 91ea9ee..fcb8254 100644 --- a/examples/sub-validate.yml +++ b/examples/sub-validate.yml @@ -47,7 +47,7 @@ jobs: - name: Restore Cargo cache id: cache-restore - uses: actions/cache/restore@v4 + uses: actions/cache/restore@v6 with: path: | ~/.cargo/bin/ @@ -69,7 +69,7 @@ jobs: run: cargo test --test integration - name: Save Cargo cache - uses: actions/cache/save@v4 + uses: actions/cache/save@v6 with: path: | ~/.cargo/bin/