Skip to content

Commit 9b0735c

Browse files
author
Julien Ruaux
committed
feat: Added maven workflow
1 parent d891ad4 commit 9b0735c

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
name: 'Early Access'
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
jreleaser-version:
7+
default: 'early-access'
8+
required: false
9+
type: string
10+
jreleaser-arguments:
11+
default: 'release'
12+
required: false
13+
type: string
14+
java-version:
15+
default: '11'
16+
required: false
17+
type: string
18+
secrets:
19+
github-token:
20+
required: true
21+
gpg-passphrase:
22+
required: true
23+
gpg-public-key:
24+
required: true
25+
gpg-secret-key:
26+
required: true
27+
sonatype-username:
28+
required: false
29+
sonatype-password:
30+
required: false
31+
docker-username:
32+
required: false
33+
docker-password:
34+
required: false
35+
slack-webhook:
36+
required: false
37+
38+
jobs:
39+
earlyaccess:
40+
name: 'Early Access'
41+
runs-on: ubuntu-latest
42+
steps:
43+
- name: Cancel previous run
44+
uses: styfle/cancel-workflow-action@0.11.0
45+
with:
46+
access_token: ${{ secrets.github-token }}
47+
48+
- name: Checkout
49+
uses: actions/checkout@v3
50+
with:
51+
fetch-depth: 0
52+
53+
- name: Set up Java
54+
uses: actions/setup-java@v3
55+
with:
56+
java-version: ${{ inputs.java-version }}
57+
distribution: 'zulu'
58+
59+
- name: Cache Maven
60+
uses: actions/cache@v3
61+
with:
62+
path: ~/.m2/repository
63+
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
64+
restore-keys: |
65+
${{ runner.os }}-maven-
66+
67+
- name: Build
68+
run: |
69+
./mvnw --no-transfer-progress -B --file pom.xml verify
70+
71+
- name: Upload test reports
72+
if: failure()
73+
uses: actions/upload-artifact@v3
74+
with:
75+
name: test-reports
76+
path: target/
77+
78+
- name: Upload coverage to Codecov
79+
uses: codecov/codecov-action@v3
80+
81+
- name: Version
82+
id: vars
83+
shell: bash
84+
run: |
85+
echo version=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout) >> $GITHUB_OUTPUT
86+
87+
- name: Release
88+
uses: jreleaser/release-action@v2
89+
with:
90+
arguments: ${{ inputs.jreleaser-arguments }}
91+
version: ${{ inputs.jreleaser-version }}
92+
env:
93+
JRELEASER_PROJECT_VERSION: ${{ steps.vars.outputs.VERSION }}
94+
JRELEASER_GITHUB_TOKEN: ${{ secrets.github-token }}
95+
JRELEASER_GPG_PASSPHRASE: ${{ secrets.gpg-passphrase }}
96+
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.gpg-public-key }}
97+
JRELEASER_GPG_SECRET_KEY: ${{ secrets.gpg-secret-key }}
98+
JRELEASER_DOCKER_DEFAULT_USERNAME: ${{ secrets.docker-username }}
99+
JRELEASER_DOCKER_DEFAULT_PASSWORD: ${{ secrets.docker-password }}
100+
JRELEASER_NEXUS2_USERNAME: ${{ secrets.sonatype-username }}
101+
JRELEASER_NEXUS2_PASSWORD: ${{ secrets.sonatype-password }}
102+
JRELEASER_SLACK_WEBHOOK: ${{ secrets.slack-webhook }}
103+
104+
- name: JReleaser output
105+
if: always()
106+
uses: actions/upload-artifact@v3
107+
with:
108+
name: artifact
109+
path: |
110+
out/jreleaser/trace.log
111+
out/jreleaser/output.properties

0 commit comments

Comments
 (0)