Skip to content

Commit d1cb887

Browse files
committed
ci: Fix deployments on new org
1 parent bd0dbbe commit d1cb887

File tree

5 files changed

+53
-16
lines changed

5 files changed

+53
-16
lines changed

.github/workflows/publish-release.yml

Lines changed: 42 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,52 @@ on:
1717
required: true
1818
type: boolean
1919
default: true
20+
maven:
21+
description: 'Maven'
22+
required: true
23+
type: boolean
24+
default: true
25+
modrinth:
26+
description: 'Modrinth'
27+
required: true
28+
type: boolean
29+
default: true
30+
curseforge:
31+
description: 'CurseForge'
32+
required: true
33+
type: boolean
34+
default: true
2035

2136
jobs:
2237
create-release:
2338
runs-on: ubuntu-latest
39+
environment: Releases
2440
outputs:
2541
ref: v${{ steps.bump-version.outputs.version }}
2642
version: ${{ steps.bump-version.outputs.version }}
2743
build-matrix: ${{ steps.set-build-matrix.outputs.result }}
2844
publish-matrix: ${{ steps.set-publish-matrix.outputs.result }}
2945
steps:
46+
- uses: actions/create-github-app-token@v2
47+
id: app-token
48+
with:
49+
app-id: ${{ vars.AUTOMATIONS_APP_ID }}
50+
private-key: ${{ secrets.AUTOMATIONS_PRIVATE_KEY }}
3051
- name: Checkout repository
3152
uses: actions/checkout@v4
53+
with:
54+
token: ${{ steps.app-token.outputs.token }}
55+
- name: Get GitHub App User ID
56+
id: get-user-id
57+
run: echo "user-id=$(gh api "/users/${{ steps.app-token.outputs.app-slug }}[bot]" --jq .id)" >> "$GITHUB_OUTPUT"
58+
env:
59+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
60+
- run: |
61+
git config --global user.name '${{ steps.app-token.outputs.app-slug }}[bot]'
62+
git config --global user.email '${{ steps.get-user-id.outputs.user-id }}+${{ steps.app-token.outputs.app-slug }}[bot]@users.noreply.github.com'
3263
- name: Extracting version from properties
3364
shell: bash
34-
run: echo "version=$(cat gradle.properties | grep -w "\bversion" | cut -d= -f2)" >> $GITHUB_OUTPUT
65+
run: echo "version=$(cat gradle.properties | grep -w "\bversion\s*=" | cut -d= -f2)" >> $GITHUB_OUTPUT
3566
id: extract-version
3667
- name: Bumping version
3768
uses: TwelveIterations/bump-version@v1
@@ -42,8 +73,6 @@ jobs:
4273
- name: Updating version properties
4374
run: |
4475
sed -i "s/^\s*version\s*=.*/version = ${{ steps.bump-version.outputs.version }}/g" gradle.properties
45-
git config user.name "GitHub Actions"
46-
git config user.email "<>"
4776
git commit -am "Set version to ${{ steps.bump-version.outputs.version }}"
4877
git push origin ${BRANCH_NAME}
4978
git tag -a "v${{ steps.bump-version.outputs.version }}" -m "Release ${{ steps.bump-version.outputs.version }}"
@@ -78,9 +107,16 @@ jobs:
78107
const includeFabric = includes.includes('fabric') && ${{inputs.fabric}};
79108
const includeForge = includes.includes('forge') && ${{inputs.forge}};
80109
const includeNeoForge = includes.includes('neoforge') && ${{inputs.neoforge}};
110+
const gradleProperties = fs.readFileSync('gradle.properties', 'utf8');
111+
const curseForgeProjectId = gradleProperties.match(/^(?!#)curseforge_project_id\s*=\s*(.+)/m);
112+
const modrinthProjectId = gradleProperties.match(/^(?!#)modrinth_project_id\s*=\s*(.+)/m);
113+
const mavenReleases = gradleProperties.match(/^(?!#)maven_releases\s*=\s*(.+)/m);
114+
const publishCurseForge = curseForgeProjectId && ${{inputs.curseforge}};
115+
const publishModrinth = modrinthProjectId && ${{inputs.modrinth}};
116+
const publishMaven = mavenReleases && ${{inputs.maven}};
81117
return {
82118
loader: ['common', includeFabric ? 'fabric' : false, includeForge ? 'forge' : false, includeNeoForge ? 'neoforge' : false].filter(Boolean),
83-
site: ['curseforge', 'modrinth', 'publish'],
119+
site: [publishCurseForge ? 'curseforge' : false, publishModrinth ? 'modrinth' : false, publishMaven ? 'publish' : false].filter(Boolean),
84120
exclude: [
85121
{loader: 'common', site: 'curseforge'},
86122
{loader: 'common', site: 'modrinth'}
@@ -148,6 +184,7 @@ jobs:
148184
- build-common
149185
publish-release:
150186
runs-on: ubuntu-latest
187+
environment: Releases
151188
strategy:
152189
matrix: ${{fromJson(needs.create-release.outputs.publish-matrix)}}
153190
fail-fast: false
@@ -171,15 +208,11 @@ jobs:
171208
cache: 'gradle'
172209
- name: Make gradle wrapper executable
173210
run: chmod +x ./gradlew
174-
- name: Check current artifact hash TODO
175-
run: sha1sum ${{ matrix.loader }}/build/libs/*
176211
- name: Publish
177-
run: ./gradlew :${{ matrix.loader }}:${{ matrix.site }} '-Pversion=${{needs.create-release.outputs.version}}' '-PtwelveIterationsNexusUsername=${{ secrets.NEXUS_USER }}' '-PtwelveIterationsNexusPassword=${{ secrets.NEXUS_PASSWORD }}'
212+
run: ./gradlew :${{ matrix.loader }}:${{ matrix.site }} '-Pversion=${{needs.create-release.outputs.version}}' '-PmavenUsername=${{ secrets.MAVEN_USER }}' '-PmavenPassword=${{ secrets.MAVEN_PASSWORD }}'
178213
env:
179214
CURSEFORGE_TOKEN: ${{secrets.CURSEFORGE_TOKEN}}
180215
MODRINTH_TOKEN: ${{secrets.MODRINTH_TOKEN}}
181-
- name: Check new artifact hash TODO
182-
run: sha1sum ${{ matrix.loader }}/build/libs/*
183216
needs:
184217
- create-release
185218
- build-common

.github/workflows/publish-snapshot.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: publish-snapshot
22
on:
33
push:
44
branches:
5-
- '**'
5+
- '[0-9]+.[0-9]+.[0-9]+'
66

77
jobs:
88
prepare-matrix:
@@ -25,11 +25,15 @@ jobs:
2525
const includeFabric = includes.includes('fabric');
2626
const includeForge = includes.includes('forge');
2727
const includeNeoForge = includes.includes('neoforge');
28+
const gradleProperties = fs.readFileSync('gradle.properties', 'utf8');
29+
const mavenSnapshots = gradleProperties.match(/^(?!#)maven_snapshots\s*=\s*(.+)/m);
2830
return {
2931
loader: ['common', includeFabric ? 'fabric' : false, includeForge ? 'forge' : false, includeNeoForge ? 'neoforge' : false].filter(Boolean),
32+
task: [mavenSnapshots ? 'publish' : 'build']
3033
};
3134
publish-snapshot:
3235
runs-on: ubuntu-latest
36+
environment: Snapshots
3337
strategy:
3438
matrix: ${{fromJson(needs.prepare-matrix.outputs.matrix)}}
3539
fail-fast: false
@@ -47,7 +51,7 @@ jobs:
4751
run: chmod +x ./gradlew
4852
- name: Extracting version from properties
4953
shell: bash
50-
run: echo "version=$(cat gradle.properties | grep -w "\bversion" | cut -d= -f2)" >> $GITHUB_OUTPUT
54+
run: echo "version=$(cat gradle.properties | grep -w "\bversion\s*=" | cut -d= -f2)" >> $GITHUB_OUTPUT
5155
id: extract-version
5256
- name: Bumping version
5357
uses: TwelveIterations/bump-version@v1
@@ -56,5 +60,5 @@ jobs:
5660
bump: patch
5761
id: bump-version
5862
- name: Publish
59-
run: ./gradlew :${{ matrix.loader }}:publish '-Pversion=${{ steps.bump-version.outputs.version }}-SNAPSHOT' '-PtwelveIterationsNexusUsername=${{ secrets.NEXUS_USER }}' '-PtwelveIterationsNexusPassword=${{ secrets.NEXUS_PASSWORD }}'
60-
needs: prepare-matrix
63+
run: ./gradlew :${{ matrix.loader }}:${{ matrix.task }} '-Pversion=${{ steps.bump-version.outputs.version }}-SNAPSHOT' '-PmavenUsername=${{ secrets.MAVEN_USER }}' '-PmavenPassword=${{ secrets.MAVEN_PASSWORD }}'
64+
needs: prepare-matrix

common/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ publishing {
7272
var releasesRepoUrl = "https://maven.twelveiterations.com/repository/maven-releases/"
7373
var snapshotsRepoUrl = "https://maven.twelveiterations.com/repository/maven-snapshots/"
7474
url = uri(version.toString().endsWith("SNAPSHOT") ? snapshotsRepoUrl : releasesRepoUrl)
75-
name = "twelveIterationsNexus"
75+
name = "maven"
7676
credentials(PasswordCredentials)
7777
}
7878
}

fabric/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ publishing {
107107
var releasesRepoUrl = "https://maven.twelveiterations.com/repository/maven-releases/"
108108
var snapshotsRepoUrl = "https://maven.twelveiterations.com/repository/maven-snapshots/"
109109
url = uri(version.toString().endsWith("SNAPSHOT") ? snapshotsRepoUrl : releasesRepoUrl)
110-
name = "twelveIterationsNexus"
110+
name = "maven"
111111
credentials(PasswordCredentials)
112112
}
113113
}

forge/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ publishing {
221221
var releasesRepoUrl = "https://maven.twelveiterations.com/repository/maven-releases/"
222222
var snapshotsRepoUrl = "https://maven.twelveiterations.com/repository/maven-snapshots/"
223223
url = uri(version.toString().endsWith("SNAPSHOT") ? snapshotsRepoUrl : releasesRepoUrl)
224-
name = "twelveIterationsNexus"
224+
name = "maven"
225225
credentials(PasswordCredentials)
226226
}
227227
}

0 commit comments

Comments
 (0)