Skip to content

Commit f0e4602

Browse files
committed
ci: Pin SHAs
1 parent b5c4446 commit f0e4602

4 files changed

Lines changed: 48 additions & 47 deletions

File tree

.github/workflows/label-issues.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
1616

1717
- name: Parse issue form
18-
uses: TwelveIterations/github-issue-parser@main
18+
uses: TwelveIterations/github-issue-parser@31002363586b06c42d69c874b03f6a839e9c53ba
1919
id: issue-parser
2020
with:
2121
template-path: https://raw.githubusercontent.com/TwelveIterations/.github/refs/heads/main/.github/ISSUE_TEMPLATE/${{ matrix.template }}

.github/workflows/manage-labels.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
runs-on: ubuntu-latest
2121
name: manage-labels
2222
steps:
23-
- uses: actions/checkout@v2
24-
- uses: TwelveIterations/manage-labels@main
23+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
24+
- uses: TwelveIterations/manage-labels@2eb52a52431a345ad446f03003ba5c50ddf18d08
2525
with:
2626
dry: ${{ inputs.dry }}
2727
remove_missing: ${{ inputs.remove_missing }}

.github/workflows/publish-release.yml

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@ jobs:
4343
build-matrix: ${{ steps.set-build-matrix.outputs.result }}
4444
publish-matrix: ${{ steps.set-publish-matrix.outputs.result }}
4545
steps:
46-
- uses: actions/create-github-app-token@v2
46+
- uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3
4747
id: app-token
4848
with:
4949
app-id: ${{ vars.AUTOMATIONS_APP_ID }}
5050
private-key: ${{ secrets.AUTOMATIONS_PRIVATE_KEY }}
5151
- name: Checkout repository
52-
uses: actions/checkout@v4
52+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
5353
with:
5454
token: ${{ steps.app-token.outputs.token }}
5555
- name: Get GitHub App User ID
@@ -65,7 +65,7 @@ jobs:
6565
run: echo "version=$(cat gradle.properties | grep -w "\bversion\s*=" | cut -d= -f2)" >> $GITHUB_OUTPUT
6666
id: extract-version
6767
- name: Bumping version
68-
uses: TwelveIterations/bump-version@v1
68+
uses: TwelveIterations/bump-version@86901cde5897b550e2e98fbe8962afc401c23c8f
6969
with:
7070
version: ${{ steps.extract-version.outputs.version }}
7171
bump: patch
@@ -82,32 +82,27 @@ jobs:
8282
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
8383
- name: Preparing build matrix
8484
id: set-build-matrix
85-
uses: actions/github-script@v7
85+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
8686
with:
8787
script: |
8888
const fs = require('fs');
89-
const settingsGradle = fs.readFileSync('settings.gradle', 'utf8');
90-
const includePattern = /^(?!\s*\/\/)\s*include\s*\(\s*(['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])*\s*)\)/gm;
91-
const includes = [...settingsGradle.matchAll(includePattern)].flatMap(match => match[0].match(/['"]([^'"]+)['"]/g).map(item => item.replace(/['"]/g, '')));
92-
const includeFabric = includes.includes('fabric') && ${{inputs.fabric}};
93-
const includeForge = includes.includes('forge') && ${{inputs.forge}};
94-
const includeNeoForge = includes.includes('neoforge') && ${{inputs.neoforge}};
89+
const gradleProperties = fs.readFileSync('gradle.properties', 'utf8');
90+
const includeFabric = gradleProperties.match(/^(?!#)include_fabric\s*=\s*true/m) && ${{inputs.fabric}};
91+
const includeForge = gradleProperties.match(/^(?!#)include_forge\s*=\s*true/m) && ${{inputs.forge}};
92+
const includeNeoForge = gradleProperties.match(/^(?!#)include_neoforge\s*=\s*true/m) && ${{inputs.neoforge}};
9593
return {
9694
loader: [includeFabric ? 'fabric' : false, includeForge ? 'forge' : false, includeNeoForge ? 'neoforge' : false].filter(Boolean),
9795
}
9896
- name: Preparing publish matrix
9997
id: set-publish-matrix
100-
uses: actions/github-script@v7
98+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
10199
with:
102100
script: |
103101
const fs = require('fs');
104-
const settingsGradle = fs.readFileSync('settings.gradle', 'utf8');
105-
const includePattern = /^(?!\s*\/\/)\s*include\s*\(\s*(['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])*\s*)\)/gm;
106-
const includes = [...settingsGradle.matchAll(includePattern)].flatMap(match => match[0].match(/['"]([^'"]+)['"]/g).map(item => item.replace(/['"]/g, '')));
107-
const includeFabric = includes.includes('fabric') && ${{inputs.fabric}};
108-
const includeForge = includes.includes('forge') && ${{inputs.forge}};
109-
const includeNeoForge = includes.includes('neoforge') && ${{inputs.neoforge}};
110102
const gradleProperties = fs.readFileSync('gradle.properties', 'utf8');
103+
const includeFabric = gradleProperties.match(/^(?!#)include_fabric\s*=\s*true/m) && ${{inputs.fabric}};
104+
const includeForge = gradleProperties.match(/^(?!#)include_forge\s*=\s*true/m) && ${{inputs.forge}};
105+
const includeNeoForge = gradleProperties.match(/^(?!#)include_neoforge\s*=\s*true/m) && ${{inputs.neoforge}};
111106
const curseForgeProjectId = gradleProperties.match(/^(?!#)curseforge_project_id\s*=\s*(.+)/m);
112107
const modrinthProjectId = gradleProperties.match(/^(?!#)modrinth_project_id\s*=\s*(.+)/m);
113108
const mavenReleases = gradleProperties.match(/^(?!#)maven_releases\s*=\s*(.+)/m);
@@ -126,13 +121,13 @@ jobs:
126121
runs-on: ubuntu-latest
127122
steps:
128123
- name: Checkout repository
129-
uses: actions/checkout@v4
124+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
130125
with:
131126
ref: ${{ needs.create-release.outputs.ref }}
132127
- name: Validate gradle wrapper
133-
uses: gradle/actions/wrapper-validation@v5
128+
uses: gradle/actions/wrapper-validation@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e
134129
- name: Setup JDK
135-
uses: actions/setup-java@v4
130+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
136131
with:
137132
java-version: 21
138133
distribution: temurin
@@ -142,7 +137,7 @@ jobs:
142137
- name: Build common artifact
143138
run: ./gradlew :common:build '-Pversion=${{needs.create-release.outputs.version}}'
144139
- name: Upload common artifact
145-
uses: actions/upload-artifact@v4
140+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
146141
with:
147142
name: common-artifact
148143
path: common/build
@@ -154,28 +149,31 @@ jobs:
154149
fail-fast: false
155150
steps:
156151
- name: Checkout repository
157-
uses: actions/checkout@v4
152+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
158153
with:
159154
ref: ${{ needs.create-release.outputs.ref }}
160155
- name: Validate gradle wrapper
161-
uses: gradle/actions/wrapper-validation@v5
156+
uses: gradle/actions/wrapper-validation@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e
162157
- name: Setup JDK
163-
uses: actions/setup-java@v4
158+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
164159
with:
165160
java-version: 21
166161
distribution: temurin
167162
cache: 'gradle'
168163
- name: Make gradle wrapper executable
169164
run: chmod +x ./gradlew
170165
- name: Download common artifact
171-
uses: actions/download-artifact@v4
166+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
172167
with:
173168
name: common-artifact
174169
path: common/build
170+
- name: Workaround for FG7
171+
run: ./gradlew
172+
if: matrix.loader == 'forge'
175173
- name: Build ${{ matrix.loader }} artifact
176174
run: ./gradlew :${{ matrix.loader }}:build '-Pversion=${{needs.create-release.outputs.version}}'
177175
- name: Upload ${{ matrix.loader }} artifact
178-
uses: actions/upload-artifact@v4
176+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
179177
with:
180178
name: ${{ matrix.loader }}-artifact
181179
path: ${{ matrix.loader }}/build
@@ -190,24 +188,27 @@ jobs:
190188
fail-fast: false
191189
steps:
192190
- name: Checkout repository
193-
uses: actions/checkout@v4
191+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
194192
with:
195193
ref: ${{ needs.create-release.outputs.ref }}
196194
- name: Download ${{ matrix.loader }} artifact
197-
uses: actions/download-artifact@v4
195+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
198196
with:
199197
name: ${{ matrix.loader }}-artifact
200198
path: ${{ matrix.loader }}/build
201199
- name: Validate gradle wrapper
202-
uses: gradle/actions/wrapper-validation@v5
200+
uses: gradle/actions/wrapper-validation@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e
203201
- name: Setup JDK
204-
uses: actions/setup-java@v4
202+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
205203
with:
206204
java-version: 21
207205
distribution: temurin
208206
cache: 'gradle'
209207
- name: Make gradle wrapper executable
210208
run: chmod +x ./gradlew
209+
- name: Workaround for FG7
210+
run: ./gradlew
211+
if: matrix.loader == 'forge'
211212
- name: Publish
212213
run: ./gradlew :${{ matrix.loader }}:${{ matrix.site }} '-Pversion=${{needs.create-release.outputs.version}}' '-PmavenUsername=${{ secrets.MAVEN_USER }}' '-PmavenPassword=${{ secrets.MAVEN_PASSWORD }}'
213214
env:
@@ -216,4 +217,4 @@ jobs:
216217
needs:
217218
- create-release
218219
- build-common
219-
- build-release
220+
- build-release

.github/workflows/publish-snapshot.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ on:
33
push:
44
branches:
55
- '[0-9]+.[0-9]+.[0-9]+'
6+
- '[0-9]+.[0-9]+'
67

78
jobs:
89
prepare-matrix:
@@ -11,21 +12,17 @@ jobs:
1112
matrix: ${{ steps.set-matrix.outputs.result }}
1213
steps:
1314
- name: Checkout repository
14-
uses: actions/checkout@v4
15+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
1516
- name: Preparing matrix
1617
id: set-matrix
17-
uses: actions/github-script@v7
18+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
1819
with:
1920
script: |
2021
const fs = require('fs');
21-
const settingsGradle = fs.readFileSync('settings.gradle', 'utf8');
22-
const includePattern = /^(?!\s*\/\/)\s*include\s*\(\s*(['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])*\s*)\)/gm;
23-
const includes = [...settingsGradle.matchAll(includePattern)]
24-
.flatMap(match => match[0].match(/['"]([^'"]+)['"]/g).map(item => item.replace(/['"]/g, '')));
25-
const includeFabric = includes.includes('fabric');
26-
const includeForge = includes.includes('forge');
27-
const includeNeoForge = includes.includes('neoforge');
2822
const gradleProperties = fs.readFileSync('gradle.properties', 'utf8');
23+
const includeFabric = gradleProperties.match(/^(?!#)include_fabric\s*=\s*true/m);
24+
const includeForge = gradleProperties.match(/^(?!#)include_forge\s*=\s*true/m);
25+
const includeNeoForge = gradleProperties.match(/^(?!#)include_neoforge\s*=\s*true/m);
2926
const mavenSnapshots = gradleProperties.match(/^(?!#)maven_snapshots\s*=\s*(.+)/m);
3027
return {
3128
loader: ['common', includeFabric ? 'fabric' : false, includeForge ? 'forge' : false, includeNeoForge ? 'neoforge' : false].filter(Boolean),
@@ -39,11 +36,11 @@ jobs:
3936
fail-fast: false
4037
steps:
4138
- name: Checkout repository
42-
uses: actions/checkout@v4
39+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
4340
- name: Validate gradle wrapper
44-
uses: gradle/actions/wrapper-validation@v5
41+
uses: gradle/actions/wrapper-validation@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e
4542
- name: Setup JDK
46-
uses: actions/setup-java@v4
43+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
4744
with:
4845
java-version: 21
4946
distribution: temurin
@@ -54,11 +51,14 @@ jobs:
5451
run: echo "version=$(cat gradle.properties | grep -w "\bversion\s*=" | cut -d= -f2)" >> $GITHUB_OUTPUT
5552
id: extract-version
5653
- name: Bumping version
57-
uses: TwelveIterations/bump-version@v1
54+
uses: TwelveIterations/bump-version@86901cde5897b550e2e98fbe8962afc401c23c8f
5855
with:
5956
version: ${{ steps.extract-version.outputs.version }}
6057
bump: patch
6158
id: bump-version
59+
- name: Workaround for FG7
60+
run: ./gradlew
61+
if: matrix.loader == 'forge'
6262
- name: Publish
6363
run: ./gradlew :${{ matrix.loader }}:${{ matrix.task }} '-Pversion=${{ steps.bump-version.outputs.version }}-SNAPSHOT' '-PmavenUsername=${{ secrets.MAVEN_USER }}' '-PmavenPassword=${{ secrets.MAVEN_PASSWORD }}'
6464
needs: prepare-matrix

0 commit comments

Comments
 (0)