@@ -24,45 +24,11 @@ jobs:
2424 with :
2525 fetch-depth : ' 0'
2626
27- - name : Set up JDK
28- uses : actions/setup-java@v4
29- with :
30- java-version : ' 21'
31- distribution : ' corretto'
32- cache : ' maven'
33-
34- - name : Cache Maven packages
35- uses : actions/cache@v4
36- with :
37- path : |
38- ~/.m2/repository
39- !~/.m2/repository/org/devgateway/tcdi
40- key : ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
41- restore-keys : |
42- ${{ runner.os }}-maven-
43-
4427 - name : Configure Git user
4528 run : |
4629 git config user.email "tmugo@developmentgateway.org"
4730 git config user.name "Timothy Mugo Gachengo"
4831
49- - name : Build the Maven project
50- run : |
51- mvn package -DskipTests=true -Dcheckstyle.skip \
52- && mkdir -p forms/target/deps \
53- && cd forms/target/deps \
54- && jar -xf ../*.jar
55-
56- - name : Generate a changelog
57- uses : orhun/git-cliff-action@v3
58- id : changelog
59- with :
60- config : cliff.toml
61- env :
62- OUTPUT : CHANGELOG.md
63- GITHUB_REPO : ${{ github.repository }}
64- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
65-
6632 - name : Generate Tag
6733 id : tag_version
6834 uses : mathieudutour/github-tag-action@v6.2
7339 dry_run : ' true'
7440
7541 build-and-push-docker-image :
76- needs : release-and-tag
42+ needs : prepare-a-release
7743 runs-on : ubuntu-latest
44+ outputs :
45+ new_version : ${{ needs.prepare-a-release.outputs.new_version }}
46+ new_tag : ${{ needs.prepare-a-release.outputs.new_tag }}
7847 steps :
7948 - name : Checkout Repository
8049 uses : actions/checkout@v4
@@ -103,22 +72,61 @@ jobs:
10372 context : .
10473 push : true
10574 build-args : |
106- VERSION=${{ needs.release-and-tag .outputs.new_version }}
107- TAG=${{ needs.release-and-tag .outputs.new_version }}
75+ VERSION=${{ needs.prepare-a-release .outputs.new_version }}
76+ TAG=${{ needs.prepare-a-release .outputs.new_tag }}
10877 tags : |
10978 ${{ vars.DOCKER_REGISTRY }}/data-viz-admin:latest
110- ${{ vars.DOCKER_REGISTRY }}/data-viz-admin:v${{ needs.release-and-tag .outputs.new_version }}
79+ ${{ vars.DOCKER_REGISTRY }}/data-viz-admin:v${{ needs.prepare-a-release .outputs.new_version }}
11180
11281 release-on-github :
11382 needs : build-and-push-docker-image
11483 runs-on : ubuntu-latest
11584 steps :
85+ - name : Checkout Repository
86+ uses : actions/checkout@v4
87+ with :
88+ fetch-depth : ' 0'
89+
90+ - name : Set up JDK
91+ uses : actions/setup-java@v4
92+ with :
93+ java-version : ' 21'
94+ distribution : ' corretto'
95+ cache : ' maven'
96+
97+ - name : Cache Maven packages
98+ uses : actions/cache@v4
99+ with :
100+ path : |
101+ ~/.m2/repository
102+ !~/.m2/repository/org/devgateway/tcdi
103+ key : ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
104+ restore-keys : |
105+ ${{ runner.os }}-maven-
106+
107+ - name : Build the Maven project
108+ run : |
109+ mvn package -DskipTests=true -Dcheckstyle.skip \
110+ && mkdir -p forms/target/deps \
111+ && cd forms/target/deps \
112+ && jar -xf ../*.jar
113+
114+ - name : Generate a changelog
115+ uses : orhun/git-cliff-action@v3
116+ id : changelog
117+ with :
118+ config : cliff.toml
119+ env :
120+ OUTPUT : CHANGELOG.md
121+ GITHUB_REPO : ${{ github.repository }}
122+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
123+
116124 - name : Create Release
117125 id : create_release
118126 uses : softprops/action-gh-release@v2
119127 with :
120- tag_name : ${{ needs.release -and-tag .outputs.new_tag }}
121- files : forms/target/deps/ *.jar
128+ tag_name : ${{ needs.build -and-push-docker-image .outputs.new_tag }}
129+ files : forms/target/*.jar
122130 body_path : CHANGELOG.md
123131 draft : false
124132 prerelease : false
0 commit comments