fix: Update CI workflow versions to latest (#40)

This commit is contained in:
Bryant Biggs 2025-10-21 04:09:40 -05:00 committed by GitHub
parent c0b0204344
commit 5deff22cf4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 129 additions and 48 deletions

View file

@ -14,7 +14,7 @@ jobs:
steps: steps:
# Please look up the latest version from # Please look up the latest version from
# https://github.com/amannn/action-semantic-pull-request/releases # https://github.com/amannn/action-semantic-pull-request/releases
- uses: amannn/action-semantic-pull-request@v5.5.3 - uses: amannn/action-semantic-pull-request@v6.1.1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:

View file

@ -7,8 +7,8 @@ on:
- master - master
env: env:
TERRAFORM_DOCS_VERSION: v0.19.0 TERRAFORM_DOCS_VERSION: v0.20.0
TFLINT_VERSION: v0.53.0 TFLINT_VERSION: v0.59.1
jobs: jobs:
collectInputs: collectInputs:
@ -18,11 +18,11 @@ jobs:
directories: ${{ steps.dirs.outputs.directories }} directories: ${{ steps.dirs.outputs.directories }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Get root directories - name: Get root directories
id: dirs id: dirs
uses: clowdhaus/terraform-composite-actions/directories@v1.9.0 uses: clowdhaus/terraform-composite-actions/directories@v1.14.0
preCommitMinVersions: preCommitMinVersions:
name: Min TF pre-commit name: Min TF pre-commit
@ -32,27 +32,49 @@ jobs:
matrix: matrix:
directory: ${{ fromJson(needs.collectInputs.outputs.directories) }} directory: ${{ fromJson(needs.collectInputs.outputs.directories) }}
steps: steps:
- name: Install rmz
uses: jaxxstorm/action-install-gh-release@v2.1.0
with:
repo: SUPERCILEX/fuc
asset-name: x86_64-unknown-linux-gnu-rmz
rename-to: rmz
chmod: 0755
extension-matching: disable
# https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 # https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
- name: Delete huge unnecessary tools folder - name: Delete unnecessary files
run: | run: |
rm -rf /opt/hostedtoolcache/CodeQL formatByteCount() { echo $(numfmt --to=iec-i --suffix=B --padding=7 $1'000'); }
rm -rf /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
rm -rf /opt/hostedtoolcache/Ruby
rm -rf /opt/hostedtoolcache/go BEFORE=$(getAvailableSpace)
ln -s /opt/hostedtoolcache/SUPERCILEX/x86_64-unknown-linux-gnu-rmz/latest/linux-x64/rmz /usr/local/bin/rmz
rmz -f /opt/hostedtoolcache/CodeQL &
rmz -f /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk &
rmz -f /opt/hostedtoolcache/PyPy &
rmz -f /opt/hostedtoolcache/Ruby &
rmz -f /opt/hostedtoolcache/go &
wait
AFTER=$(getAvailableSpace)
SAVED=$((AFTER-BEFORE))
echo "=> Saved $(formatByteCount $SAVED)"
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Terraform min/max versions - name: Terraform min/max versions
id: minMax id: minMax
uses: clowdhaus/terraform-min-max@v1.3.1 uses: clowdhaus/terraform-min-max@v2.1.0
with: with:
directory: ${{ matrix.directory }} directory: ${{ matrix.directory }}
- name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }} - name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }}
# Run only validate pre-commit check on min version supported # Run only validate pre-commit check on min version supported
if: ${{ matrix.directory != '.' }} if: ${{ matrix.directory != '.' }}
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.11.1 uses: clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
with: with:
terraform-version: ${{ steps.minMax.outputs.minVersion }} terraform-version: ${{ steps.minMax.outputs.minVersion }}
tflint-version: ${{ env.TFLINT_VERSION }} tflint-version: ${{ env.TFLINT_VERSION }}
@ -61,7 +83,7 @@ jobs:
- name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }} - name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }}
# Run only validate pre-commit check on min version supported # Run only validate pre-commit check on min version supported
if: ${{ matrix.directory == '.' }} if: ${{ matrix.directory == '.' }}
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.11.1 uses: clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
with: with:
terraform-version: ${{ steps.minMax.outputs.minVersion }} terraform-version: ${{ steps.minMax.outputs.minVersion }}
tflint-version: ${{ env.TFLINT_VERSION }} tflint-version: ${{ env.TFLINT_VERSION }}
@ -72,26 +94,73 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: collectInputs needs: collectInputs
steps: steps:
- name: Install rmz
uses: jaxxstorm/action-install-gh-release@v2.1.0
with:
repo: SUPERCILEX/fuc
asset-name: x86_64-unknown-linux-gnu-rmz
rename-to: rmz
chmod: 0755
extension-matching: disable
# https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 # https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
- name: Delete huge unnecessary tools folder - name: Delete unnecessary files
run: | run: |
rm -rf /opt/hostedtoolcache/CodeQL formatByteCount() { echo $(numfmt --to=iec-i --suffix=B --padding=7 $1'000'); }
rm -rf /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
rm -rf /opt/hostedtoolcache/Ruby
rm -rf /opt/hostedtoolcache/go BEFORE=$(getAvailableSpace)
ln -s /opt/hostedtoolcache/SUPERCILEX/x86_64-unknown-linux-gnu-rmz/latest/linux-x64/rmz /usr/local/bin/rmz
rmz -f /opt/hostedtoolcache/CodeQL &
rmz -f /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk &
rmz -f /opt/hostedtoolcache/PyPy &
rmz -f /opt/hostedtoolcache/Ruby &
rmz -f /opt/hostedtoolcache/go &
sudo rmz -f /usr/local/lib/android &
if [[ ${{ github.repository }} == terraform-aws-modules/terraform-aws-security-group ]]; then
sudo rmz -f /usr/share/dotnet &
sudo rmz -f /usr/local/.ghcup &
sudo apt-get -qq remove -y 'azure-.*'
sudo apt-get -qq remove -y 'cpp-.*'
sudo apt-get -qq remove -y 'dotnet-runtime-.*'
sudo apt-get -qq remove -y 'google-.*'
sudo apt-get -qq remove -y 'libclang-.*'
sudo apt-get -qq remove -y 'libllvm.*'
sudo apt-get -qq remove -y 'llvm-.*'
sudo apt-get -qq remove -y 'mysql-.*'
sudo apt-get -qq remove -y 'postgresql-.*'
sudo apt-get -qq remove -y 'php.*'
sudo apt-get -qq remove -y 'temurin-.*'
sudo apt-get -qq remove -y kubectl firefox mono-devel
sudo apt-get -qq autoremove -y
sudo apt-get -qq clean
fi
wait
AFTER=$(getAvailableSpace)
SAVED=$((AFTER-BEFORE))
echo "=> Saved $(formatByteCount $SAVED)"
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
ref: ${{ github.event.pull_request.head.ref }} ref: ${{ github.event.pull_request.head.ref }}
repository: ${{github.event.pull_request.head.repo.full_name}} repository: ${{github.event.pull_request.head.repo.full_name}}
- name: Terraform min/max versions - name: Terraform min/max versions
id: minMax id: minMax
uses: clowdhaus/terraform-min-max@v1.3.1 uses: clowdhaus/terraform-min-max@v2.1.0
- name: Hide template dir
# Special to this repo, we don't want to check this dir
if: ${{ github.repository == 'terraform-aws-modules/terraform-aws-security-group' }}
run: rm -rf modules/_templates
- name: Pre-commit Terraform ${{ steps.minMax.outputs.maxVersion }} - name: Pre-commit Terraform ${{ steps.minMax.outputs.maxVersion }}
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.11.1 uses: clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
with: with:
terraform-version: ${{ steps.minMax.outputs.maxVersion }} terraform-version: ${{ steps.minMax.outputs.maxVersion }}
tflint-version: ${{ env.TFLINT_VERSION }} tflint-version: ${{ env.TFLINT_VERSION }}

View file

@ -20,18 +20,26 @@ jobs:
if: github.repository_owner == 'terraform-aws-modules' if: github.repository_owner == 'terraform-aws-modules'
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
- name: Release - name: Set correct Node.js version
uses: cycjimmy/semantic-release-action@v4 uses: actions/setup-node@v6
with: with:
semantic_version: 23.0.2 node-version: 24
extra_plugins: |
@semantic-release/changelog@6.0.3 - name: Install dependencies
@semantic-release/git@10.0.1 run: |
conventional-changelog-conventionalcommits@7.0.2 npm install \
@semantic-release/changelog@6.0.3 \
@semantic-release/git@10.0.1 \
conventional-changelog-conventionalcommits@9.1.0
- name: Release
uses: cycjimmy/semantic-release-action@v5
with:
semantic_version: 25.0.0
env: env:
GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }} GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}

View file

@ -7,7 +7,7 @@ jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/stale@v9 - uses: actions/stale@v10
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
# Staling issues and PR's # Staling issues and PR's

24
.gitignore vendored
View file

@ -1,13 +1,13 @@
# Local .terraform directories # Local .terraform directories
**/.terraform/* **/.terraform/*
# Terraform lockfile
.terraform.lock.hcl
# .tfstate files # .tfstate files
*.tfstate *.tfstate
*.tfstate.* *.tfstate.*
# terraform lockfile
.terraform.lock.hcl
# Crash log files # Crash log files
crash.log crash.log
@ -15,7 +15,6 @@ crash.log
# password, private keys, and other secrets. These should not be part of version # password, private keys, and other secrets. These should not be part of version
# control as they are data points which are potentially sensitive and subject # control as they are data points which are potentially sensitive and subject
# to change depending on the environment. # to change depending on the environment.
#
*.tfvars *.tfvars
# Ignore override files as they are usually used to override resources locally and so # Ignore override files as they are usually used to override resources locally and so
@ -25,13 +24,16 @@ override.tf.json
*_override.tf *_override.tf
*_override.tf.json *_override.tf.json
# Include override files you do wish to add to version control using negated pattern
#
# !example_override.tf
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
# example: *tfplan*
# Ignore CLI configuration files # Ignore CLI configuration files
.terraformrc .terraformrc
terraform.rc terraform.rc
# Lambda build artifacts
builds/
__pycache__/
*.zip
.tox
# Local editors/macos files
.DS_Store
.idea

View file

@ -1,6 +1,6 @@
repos: repos:
- repo: https://github.com/antonbabenko/pre-commit-terraform - repo: https://github.com/antonbabenko/pre-commit-terraform
rev: v1.100.1 rev: v1.103.0
hooks: hooks:
- id: terraform_fmt - id: terraform_fmt
- id: terraform_wrapper_module_for_each - id: terraform_wrapper_module_for_each

View file

@ -1,6 +1,8 @@
# AWS RDS Proxy Terraform Examples # Examples
- [IAM auth. w/ MySQL Aurora cluster](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/tree/master/examples/mysql-iam-cluster) Please note - the examples provided serve two primary means:
- [IAM auth. w/ MySQL RDS instance](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/tree/master/examples/mysql-iam-instance)
- [IAM auth. w/ PostgreSQL Aurora cluster](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/tree/master/examples/postgresql-iam-cluster) 1. Show users working examples of the various ways in which the module can be configured and features supported
- [IAM auth. w/ PostgreSQL RDS instance](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/tree/master/examples/postgresql-iam-instance) 2. A means of testing/validating module changes
Please do not mistake the examples provided as "best practices". It is up to users to consult the AWS service documentation for best practices, usage recommendations, etc.