77 - master
88
99env :
10- TERRAFORM_DOCS_VERSION : v0.19 .0
11- TFLINT_VERSION : v0.53.0
10+ TERRAFORM_DOCS_VERSION : v0.20 .0
11+ TFLINT_VERSION : v0.59.1
1212
1313jobs :
1414 collectInputs :
@@ -18,11 +18,11 @@ jobs:
1818 directories : ${{ steps.dirs.outputs.directories }}
1919 steps :
2020 - name : Checkout
21- uses : actions/checkout@v4
21+ uses : actions/checkout@v5
2222
2323 - name : Get root directories
2424 id : dirs
25- uses : clowdhaus/terraform-composite-actions/directories@v1.9 .0
25+ uses : clowdhaus/terraform-composite-actions/directories@v1.14 .0
2626
2727 preCommitMinVersions :
2828 name : Min TF pre-commit
@@ -32,27 +32,49 @@ jobs:
3232 matrix :
3333 directory : ${{ fromJson(needs.collectInputs.outputs.directories) }}
3434 steps :
35+ - name : Install rmz
36+ 37+ with :
38+ repo : SUPERCILEX/fuc
39+ asset-name : x86_64-unknown-linux-gnu-rmz
40+ rename-to : rmz
41+ chmod : 0755
42+ extension-matching : disable
43+
3544 # https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
36- - name : Delete huge unnecessary tools folder
45+ - name : Delete unnecessary files
3746 run : |
38- rm -rf /opt/hostedtoolcache/CodeQL
39- rm -rf /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk
40- rm -rf /opt/hostedtoolcache/Ruby
41- rm -rf /opt/hostedtoolcache/go
47+ formatByteCount() { echo $(numfmt --to=iec-i --suffix=B --padding=7 $1'000'); }
48+ getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
49+
50+ BEFORE=$(getAvailableSpace)
51+
52+ ln -s /opt/hostedtoolcache/SUPERCILEX/x86_64-unknown-linux-gnu-rmz/latest/linux-x64/rmz /usr/local/bin/rmz
53+ rmz -f /opt/hostedtoolcache/CodeQL &
54+ rmz -f /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk &
55+ rmz -f /opt/hostedtoolcache/PyPy &
56+ rmz -f /opt/hostedtoolcache/Ruby &
57+ rmz -f /opt/hostedtoolcache/go &
58+
59+ wait
60+
61+ AFTER=$(getAvailableSpace)
62+ SAVED=$((AFTER-BEFORE))
63+ echo "=> Saved $(formatByteCount $SAVED)"
4264
4365 - name : Checkout
44- uses : actions/checkout@v4
66+ uses : actions/checkout@v5
4567
4668 - name : Terraform min/max versions
4769 id : minMax
48- uses : clowdhaus/terraform-min-max@v1.3.1
70+ uses : clowdhaus/terraform-min-max@v2.1.0
4971 with :
5072 directory : ${{ matrix.directory }}
5173
5274 - name : Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }}
5375 # Run only validate pre-commit check on min version supported
5476 if : ${{ matrix.directory != '.' }}
55- uses : clowdhaus/terraform-composite-actions/pre-commit@v1.11.1
77+ uses : clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
5678 with :
5779 terraform-version : ${{ steps.minMax.outputs.minVersion }}
5880 tflint-version : ${{ env.TFLINT_VERSION }}
6183 - name : Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }}
6284 # Run only validate pre-commit check on min version supported
6385 if : ${{ matrix.directory == '.' }}
64- uses : clowdhaus/terraform-composite-actions/pre-commit@v1.11.1
86+ uses : clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
6587 with :
6688 terraform-version : ${{ steps.minMax.outputs.minVersion }}
6789 tflint-version : ${{ env.TFLINT_VERSION }}
@@ -72,26 +94,73 @@ jobs:
7294 runs-on : ubuntu-latest
7395 needs : collectInputs
7496 steps :
97+ - name : Install rmz
98+ 99+ with :
100+ repo : SUPERCILEX/fuc
101+ asset-name : x86_64-unknown-linux-gnu-rmz
102+ rename-to : rmz
103+ chmod : 0755
104+ extension-matching : disable
105+
75106 # https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
76- - name : Delete huge unnecessary tools folder
107+ - name : Delete unnecessary files
77108 run : |
78- rm -rf /opt/hostedtoolcache/CodeQL
79- rm -rf /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk
80- rm -rf /opt/hostedtoolcache/Ruby
81- rm -rf /opt/hostedtoolcache/go
109+ formatByteCount() { echo $(numfmt --to=iec-i --suffix=B --padding=7 $1'000'); }
110+ getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
111+
112+ BEFORE=$(getAvailableSpace)
113+
114+ ln -s /opt/hostedtoolcache/SUPERCILEX/x86_64-unknown-linux-gnu-rmz/latest/linux-x64/rmz /usr/local/bin/rmz
115+ rmz -f /opt/hostedtoolcache/CodeQL &
116+ rmz -f /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk &
117+ rmz -f /opt/hostedtoolcache/PyPy &
118+ rmz -f /opt/hostedtoolcache/Ruby &
119+ rmz -f /opt/hostedtoolcache/go &
120+ sudo rmz -f /usr/local/lib/android &
121+
122+ if [[ ${{ github.repository }} == terraform-aws-modules/terraform-aws-security-group ]]; then
123+ sudo rmz -f /usr/share/dotnet &
124+ sudo rmz -f /usr/local/.ghcup &
125+ sudo apt-get -qq remove -y 'azure-.*'
126+ sudo apt-get -qq remove -y 'cpp-.*'
127+ sudo apt-get -qq remove -y 'dotnet-runtime-.*'
128+ sudo apt-get -qq remove -y 'google-.*'
129+ sudo apt-get -qq remove -y 'libclang-.*'
130+ sudo apt-get -qq remove -y 'libllvm.*'
131+ sudo apt-get -qq remove -y 'llvm-.*'
132+ sudo apt-get -qq remove -y 'mysql-.*'
133+ sudo apt-get -qq remove -y 'postgresql-.*'
134+ sudo apt-get -qq remove -y 'php.*'
135+ sudo apt-get -qq remove -y 'temurin-.*'
136+ sudo apt-get -qq remove -y kubectl firefox mono-devel
137+ sudo apt-get -qq autoremove -y
138+ sudo apt-get -qq clean
139+ fi
140+
141+ wait
142+
143+ AFTER=$(getAvailableSpace)
144+ SAVED=$((AFTER-BEFORE))
145+ echo "=> Saved $(formatByteCount $SAVED)"
82146
83147 - name : Checkout
84- uses : actions/checkout@v4
148+ uses : actions/checkout@v5
85149 with :
86150 ref : ${{ github.event.pull_request.head.ref }}
87151 repository : ${{github.event.pull_request.head.repo.full_name}}
88152
89153 - name : Terraform min/max versions
90154 id : minMax
91- 155+ 156+
157+ - name : Hide template dir
158+ # Special to this repo, we don't want to check this dir
159+ if : ${{ github.repository == 'terraform-aws-modules/terraform-aws-security-group' }}
160+ run : rm -rf modules/_templates
92161
93162 - name : Pre-commit Terraform ${{ steps.minMax.outputs.maxVersion }}
94- uses : clowdhaus/terraform-composite-actions/pre-commit@v1.11.1
163+ uses : clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
95164 with :
96165 terraform-version : ${{ steps.minMax.outputs.maxVersion }}
97166 tflint-version : ${{ env.TFLINT_VERSION }}
0 commit comments