Skip to content

Commit bf71397

Browse files
chore(release): Early-access/SNAPSHOT release configuration #41 (#64)
* chore(release): Early-access/SNAPSHOT release configuration - Early-access/SNAPSHOT release configuration on master build, except real release.
1 parent dafd2d2 commit bf71397

File tree

5 files changed

+88
-17
lines changed

5 files changed

+88
-17
lines changed

.github/workflows/ci-build.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
name: ci-build
22
on:
3-
push:
4-
branches:
5-
- master
6-
tags-ignore:
7-
- '*.*'
83
pull_request:
94
branches:
105
- master
116

127
jobs:
138
build:
149
runs-on: ${{ matrix.os }}
10+
if: "startsWith(github.event.head_commit.message, 'release: Releasing version') != true"
1511
strategy:
1612
matrix:
1713
os: [ubuntu-latest]

.github/workflows/release.yml

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,32 @@ on:
88
type: string
99

1010
jobs:
11+
# commit-release:
12+
# name: Commit release
13+
# runs-on: ubuntu-latest
14+
# steps:
15+
# - name: Checkout
16+
# uses: actions/checkout@v3
17+
#
18+
# - name: Version
19+
# id: vars
20+
# shell: bash
21+
# run: |
22+
# echo ${RELEASE_VERSION} > VERSION
23+
# git add VERSION
24+
# git config --global user.email "${{ secrets.COMMIT_EMAIL }}"
25+
# git config --global user.name "${{ secrets.COMMIT_AUTHOR }}"
26+
# git commit -m "release: Releasing version ${RELEASE_VERSION}"
27+
# git push origin master
28+
# env:
29+
# RELEASE_VERSION: ${{ inputs.releaseVersion }}
1130
release:
31+
# needs: commit-release
32+
name: tagging-and-releasing
1233
runs-on: ${{ matrix.os }}
1334
strategy:
1435
matrix:
1536
os: [ubuntu-latest]
16-
name: tagging-and-releasing
1737
env:
1838
JRELEASER_TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }}
1939
JRELEASER_TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }}
@@ -36,15 +56,15 @@ jobs:
3656
with:
3757
java-version: 11
3858
distribution: 'temurin'
39-
cache: 'maven'
59+
cache: maven
4060
- name: Stage Files for Release
4161
run: |
42-
mvn versions:set -DnewVersion=$RELEASE_VERSION
43-
mvn -Prelease,gradle-build deploy -DaltDeploymentRepository=local::file:./target/staging-deploy -pl '!spring-configuration-property-documenter-report'
62+
./mvnw versions:set -DnewVersion=$RELEASE_VERSION
63+
./mvnw -Prelease,gradle-build deploy -DskipITs -DaltDeploymentRepository=local::file:./target/staging-deploy -pl '!spring-configuration-property-documenter-report'
4464
./scripts/jbang-version-release.sh $RELEASE_VERSION
4565
env:
4666
RELEASE_VERSION: ${{ inputs.releaseVersion }}
4767
- name: Run JReleaser - Full Release
4868
run: |
49-
mvn jreleaser:full-release -Prelease -N
69+
./mvnw jreleaser:full-release -Prelease -N
5070
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Snapshot release
2+
on:
3+
push:
4+
branches:
5+
- master
6+
workflow_dispatch:
7+
8+
jobs:
9+
snapshot-release:
10+
if: "startsWith(github.event.head_commit.message, 'release: Releasing version') != true"
11+
name: snapshot-release
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
matrix:
15+
os: [ubuntu-latest]
16+
env:
17+
JRELEASER_TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_KEY }}
18+
JRELEASER_TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_SECRET }}
19+
JRELEASER_TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
20+
JRELEASER_TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
21+
JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
22+
JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
23+
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
24+
JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
25+
JRELEASER_NEXUS2_MAVEN_CENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }}
26+
JRELEASER_NEXUS2_MAVEN_CENTRAL_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
27+
JRELEASER_DISCORD_WEBHOOK: ${{ secrets.SPRING_CONFIGURATION_PROPERTY_DOCUMENTER_DISCORD_WEBHOOK }}
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v3
31+
with:
32+
fetch-depth: 0
33+
- name: Setup Java
34+
uses: actions/setup-java@v3
35+
with:
36+
java-version: 11
37+
distribution: 'temurin'
38+
cache: maven
39+
- name: Stage Files for Snapshot Release
40+
run: |
41+
./mvnw versions:set -DnewVersion=999-SNAPSHOT
42+
./mvnw -Prelease,gradle-build deploy -DaltDeploymentRepository=local::file:./target/staging-deploy -pl '!spring-configuration-property-documenter-report'
43+
./scripts/jbang-version-release.sh 999-SNAPSHOT
44+
- name: Publish Test Report
45+
uses: mikepenz/action-junit-report@v3
46+
if: always() # always run even if the previous step fails
47+
with:
48+
report_paths: '**/target/surefire-reports/TEST-*.xml'
49+
- name: Run JReleaser - Snapshot Release
50+
run: |
51+
./mvnw jreleaser:release -Prelease -N -Djreleaser-nexus-deploy.active=SNAPSHOT -Djreleaser-github-release.pre-release=true
52+

justfile

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,13 @@ create-jbang-release version:
7575
./scripts/jbang-version-release.sh {{version}}
7676

7777
# Snapshot release
78-
snapshot-release:
78+
snapshot-release: (create-jbang-release "999-SNAPSHOT")
7979
mvn versions:set -DnewVersion=999-SNAPSHOT
80-
mvn clean -Prelease,build deploy -DaltDeploymentRepository=local::file:./target/staging-deploy -pl '!spring-configuration-property-documenter-report'
81-
mvn jreleaser:deploy -Prelease -N -Djreleaser-nexus-deploy.active=SNAPSHOT
80+
mvn clean -Prelease,gradle-build -DskipTests deploy -DaltDeploymentRepository=local::file:./target/staging-deploy -pl '!spring-configuration-property-documenter-report'
81+
mvn jreleaser:release -Prelease -N -Djreleaser-nexus-deploy.active=SNAPSHOT -Djreleaser-github-release.pre-release=true -X
8282

8383
only-snapshot-release:
84-
mvn jreleaser:deploy -Prelease -N -Djreleaser-nexus-deploy.active=SNAPSHOT -X
85-
86-
generate-antora:
87-
antora local-playbook.yml
84+
mvn jreleaser:deploy -Prelease -N -Djreleaser-nexus-deploy.active=SNAPSHOT -Djreleaser-github-release.pre-release=true -X
8885

8986
generate-antora:
9087
antora local-playbook.yml

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
<maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
6363
<maven-resources-plugin.version>3.3.0</maven-resources-plugin.version>
6464
<jreleaser-github-release.draft>false</jreleaser-github-release.draft>
65+
<jreleaser-github-release.pre-release>false</jreleaser-github-release.pre-release>
6566
<jreleaser-nexus-deploy.active>ALWAYS</jreleaser-nexus-deploy.active>
6667
<groovy.version>4.0.10</groovy.version>
6768
<gradle.version>6.1.1</gradle.version>
@@ -589,7 +590,12 @@
589590
</announce>
590591
<release>
591592
<github>
593+
<overwrite>${jreleaser-github-release.pre-release}</overwrite>
592594
<draft>${jreleaser-github-release.draft}</draft>
595+
<prerelease>
596+
<enabled>${jreleaser-github-release.pre-release}</enabled>
597+
<pattern>.*-SNAPSHOT</pattern>
598+
</prerelease>
593599
<discussionCategoryName>Announcements</discussionCategoryName>
594600
<changelog>
595601
<formatted>ALWAYS</formatted>

0 commit comments

Comments
 (0)