Skip to content

Commit d91b07c

Browse files
committed
feat(flows): release flow init
1 parent beffc7b commit d91b07c

File tree

2 files changed

+77
-12
lines changed

2 files changed

+77
-12
lines changed

.github/workflows/publish_release.yml

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Release distribution
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
dangerKotlinLibrary-shadowJar:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v3
11+
12+
- name: Set up JDK 8
13+
uses: actions/setup-java@v3
14+
with:
15+
distribution: "temurin"
16+
java-version: 8
17+
- name: danger-kotlin-library:shadowJar
18+
run: ./gradlew danger-kotlin-library:shadowJar
19+
- name: Upload Artifact lib
20+
uses: actions/upload-artifact@v4
21+
with:
22+
name: lib
23+
path: danger-kotlin-library/build/libs/danger-kotlin.jar
24+
25+
dangerKotlin-build:
26+
needs: [ dangerKotlinLibrary-shadowJar ]
27+
strategy:
28+
fail-fast: false
29+
matrix:
30+
target: [ {os: ubuntu-latest, compiler: linuxX64}, {os: macos-latest, compiler: macosX64}, {os: macos-latest, compiler: macosArm64} ]
31+
32+
runs-on: ${{ matrix.target.os }}
33+
34+
steps:
35+
- uses: actions/checkout@v3
36+
- name: Download Artifact lib
37+
uses: actions/download-artifact@v4
38+
with:
39+
name: lib
40+
41+
- name: Set up JDK 8
42+
uses: actions/setup-java@v3
43+
with:
44+
distribution: "temurin"
45+
java-version: 8
46+
- name: danger-kotlin:build -PtargetOS="${{ matrix.target.compiler }}"
47+
run: ./gradlew danger-kotlin:build -PtargetOS="${{ matrix.target.compiler }}"
48+
- name: Prepare distribution package
49+
run: |
50+
mkdir -p dist
51+
mkdir -p dist/lib/danger
52+
mkdir -p dist/bin
53+
ls -R
54+
mv "danger-kotlin.jar" "dist/lib/danger"
55+
mv "danger-kotlin/build/bin/runner/releaseExecutable/danger-kotlin.kexe" "dist/bin/danger-kotlin"
56+
chmod +x dist/bin/danger-kotlin
57+
- name: Zip target release
58+
uses: actions/upload-artifact@v4
59+
with:
60+
name: danger-kotlin-${{ matrix.compiler.compiler }}
61+
path: dist/*

danger-kotlin/build.gradle.kts

+16-12
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,22 @@ kotlin {
88
* https://kotlinlang.org/docs/reference/building-mpp-with-gradle.html#setting-up-targets */
99

1010
val targetOS: String by project
11-
val osName = if (project.hasProperty("targetOS")) {
12-
targetOS
11+
val buildTarget = if (project.hasProperty("targetOS")) {
12+
when (val osName = targetOS) {
13+
"macosX64" -> macosX64("runner")
14+
"linuxX64" -> linuxX64("runner")
15+
"macosArm64" -> macosArm64("runner")
16+
"mingwX64" -> mingwX64("runner")
17+
else -> throw GradleException("OS '$osName' is not supported.") as Throwable
18+
}
1319
} else {
14-
System.getProperty("os.name")
15-
}
16-
17-
val buildTarget = when (osName) {
18-
"Mac OS X" -> macosX64("runner")
19-
"Linux" -> linuxX64("runner")
20-
"Mac OS X Apple silicon" -> macosArm64("runner")
21-
"Windows 11" -> mingwX64("runner")
22-
else -> throw GradleException("OS '$osName' is not supported.") as Throwable
20+
when (val osName = System.getProperty("os.name")) {
21+
"Mac OS X" -> macosX64("runner")
22+
"Linux" -> linuxX64("runner")
23+
"Mac OS X Apple silicon" -> macosArm64("runner")
24+
"Windows 11" -> mingwX64("runner")
25+
else -> throw GradleException("OS '$osName' is not supported.") as Throwable
26+
}
2327
}
2428

2529
buildTarget.apply {
@@ -41,4 +45,4 @@ kotlin {
4145
}
4246
}
4347
}
44-
}
48+
}

0 commit comments

Comments
 (0)