Skip to content

Commit 18888a0

Browse files
authored
ST6RI-849 Adds a Github Actions workflow for releases
Adds a release build workflow, triggered by publishing a release record in the repository or by executing the workflow manually. This build is different to the normal builds in the following ways: - It skips test execution (it is expected a normal build already ran successfully for this commit before the release is finalized) - It skips verification of the generated library index (again, it is expected a normal build was already run) - A Maven version task is executed to remove the -SNAPSHOT version. Important to note: if the process is executed a second time without changing the base versions, the publish process will fail, as release builds cannot be overwritten in Github Packages.
1 parent 7a9da0d commit 18888a0

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
3+
4+
# This workflow uses actions that are not certified by GitHub.
5+
# They are provided by a third-party and are governed by
6+
# separate terms of service, privacy policy, and support
7+
# documentation.
8+
9+
name: Publish Release Build
10+
11+
on:
12+
workflow_dispatch:
13+
release:
14+
types: [published]
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@v4
22+
- name: Set up JDK 17
23+
uses: actions/setup-java@v4
24+
with:
25+
java-version: '17'
26+
distribution: 'temurin'
27+
cache: maven
28+
- name: Remove -snapshot from version
29+
run: ./mvnw -B versions:set -DremoveSnapshot=true
30+
- name: Publish to Github Packages
31+
run: ./mvnw -B deploy -DskipTests=true
32+
env:
33+
GITHUB_TOKEN: ${{ github.token }} # GITHUB_TOKEN is the default env for the password

0 commit comments

Comments
 (0)