@@ -2,10 +2,11 @@ name: Release distribution
2
2
3
3
on :
4
4
release :
5
- types : [created]
5
+ types : [ created ]
6
6
7
7
jobs :
8
8
dangerKotlinLibrary-shadowJar :
9
+ name : Build Library
9
10
runs-on : ubuntu-latest
10
11
steps :
11
12
- uses : actions/checkout@v3
@@ -24,11 +25,12 @@ jobs:
24
25
path : danger-kotlin-library/build/libs/danger-kotlin.jar
25
26
26
27
dangerKotlin-build-and-distribute :
28
+ name : Build and Attach binary to release
27
29
needs : [ dangerKotlinLibrary-shadowJar ]
28
30
strategy :
29
31
fail-fast : false
30
32
matrix :
31
- target : [ {os: ubuntu-latest, compiler: linuxX64}, {os: macos-latest, compiler: macosX64}, {os: macos-latest, compiler: macosArm64} ]
33
+ target : [ { os: ubuntu-latest, compiler: linuxX64 }, { os: macos-latest, compiler: macosX64 }, { os: macos-latest, compiler: macosArm64 } ]
32
34
33
35
runs-on : ${{ matrix.target.os }}
34
36
@@ -48,15 +50,14 @@ jobs:
48
50
run : ./gradlew danger-kotlin:build -PtargetOS="${{ matrix.target.compiler }}"
49
51
- name : Prepare distribution package
50
52
run : |
51
- mkdir -p dist
52
- mkdir -p dist/lib/danger
53
- mkdir -p dist/bin
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
53
+ mkdir -p lib/danger
54
+ mkdir -p bin
55
+ mv "danger-kotlin.jar" "lib/danger"
56
+ mv "danger-kotlin/build/bin/runner/releaseExecutable/danger-kotlin.kexe" "bin/danger-kotlin"
57
+ chmod +x bin/danger-kotlin
57
58
- name : Tar files
58
- run : |
59
- tar -cvf danger-kotlin-${{ matrix.target.compiler }}.tar dist
59
+ run : |
60
+ tar -cvf danger-kotlin-${{ matrix.target.compiler }}.tar bin lib
60
61
shasum -a 256 danger-kotlin-${{ matrix.target.compiler }}.tar
61
62
- name : Get release information
62
63
id : get_release
72
73
asset_path : ./danger-kotlin-${{ matrix.target.compiler }}.tar
73
74
asset_name : danger-kotlin-${{ matrix.target.compiler }}.tar
74
75
asset_content_type : application/x-tar
76
+
77
+ docker-build-push :
78
+ name : Build and Push Docker image
79
+ runs-on : ubuntu-latest
80
+ needs : [ dangerKotlin-build-and-distribute ]
81
+ steps :
82
+ - uses : actions/checkout@v3
83
+
84
+ - name : Get release information
85
+ id : get_release
86
+ uses :
bruceadams/[email protected]
87
+ env :
88
+ GITHUB_TOKEN : ${{ github.token }}
89
+
90
+ - name : Docker Login
91
+ run : echo $PACKAGES_WRITE_TOKEN | docker login ghcr.io -u $USERNAME --password-stdin
92
+ env :
93
+ PACKAGES_WRITE_TOKEN : ${{ secrets.DOCKER_GITHUB_PASSWORD }}
94
+ USERNAME : ${{ secrets.DOCKER_GITHUB_USERNAME }}
95
+
96
+ - name : Docker Build
97
+ run : docker build -t ghcr.io/danger/danger-kotlin:$VERSION .
98
+ env :
99
+ VERSION : ${{ steps.get_release.outputs.tag_name }}
100
+
101
+ - name : Deploy
102
+ run : docker push ghcr.io/danger/danger-kotlin:$VERSION
103
+ env :
104
+ VERSION : ${{ steps.get_release.outputs.tag_name }}
0 commit comments