-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add beta maven central configuration and github workflow
- Loading branch information
1 parent
b6c6269
commit 37b46de
Showing
3 changed files
with
113 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
name: release | ||
on: | ||
push: | ||
branches: | ||
- beta-test | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up JDK 21 | ||
uses: actions/setup-java@v4 | ||
with: | ||
java-version: '21' | ||
distribution: 'temurin' | ||
cache: maven | ||
|
||
- name: Set up Docker Build | ||
uses: docker/setup-buildx-action@v2 | ||
|
||
- name: Install Docker Compose | ||
run: | | ||
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r .tag_name)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | ||
sudo chmod +x /usr/local/bin/docker-compose | ||
docker-compose --version | ||
- name: Run MVN Verify | ||
run: | | ||
mvn -P coverage -B verify --file pom.xml | ||
- name: maven-settings-xml-action | ||
uses: whelk-io/maven-settings-xml-action@v20 | ||
with: | ||
servers: > | ||
[ | ||
{ | ||
"id": "nexus", | ||
"username": "${{ secrets.DEV_REPO_USERNAME }}", | ||
"password": "${{ secrets.DEV_REPO_PASSWORD }}" | ||
} | ||
] | ||
- name: Determine New Version | ||
id: new_version | ||
run: | | ||
# Fetch all tags to ensure they are available | ||
git fetch --tags | ||
# Get the latest tag | ||
latest_tag=$(git describe --tags `git rev-list --tags --max-count=1` || echo "v0.0.0") | ||
echo "Latest tag: $latest_tag" | ||
# Remove 'v' prefix and split into components | ||
latest_version=${latest_tag#"v"} | ||
IFS='.' read -r major minor patch_prerelease <<< "${latest_version}" | ||
# Separate patch and prerelease if any | ||
if [[ "$patch_prerelease" == *"-"* ]]; then | ||
IFS='-' read -r patch prerelease <<< "$patch_prerelease" | ||
else | ||
patch="$patch_prerelease" | ||
prerelease="" | ||
fi | ||
echo "Current version: $latest_version" | ||
echo "Major: $major, Minor: $minor, Patch: $patch, Prerelease: $prerelease" | ||
# Determine the new version | ||
if [[ "$prerelease" == beta.* ]]; then | ||
# Latest tag is a beta tag, increment beta version | ||
beta_version=${prerelease#beta.} | ||
beta_version=$((beta_version + 1)) | ||
new_version="${major}.${minor}.${patch}-beta.${beta_version}" | ||
else | ||
# Latest tag is not a beta tag, start beta.1 | ||
beta_version=1 | ||
new_version="${major}.${minor}.${patch}-beta.${beta_version}" | ||
fi | ||
echo "New version: $new_version" | ||
# Set outputs | ||
echo "new_version=$new_version" >> $GITHUB_OUTPUT | ||
echo "tag_name=v$new_version" >> $GITHUB_OUTPUT | ||
- name: Configure Git | ||
run: | | ||
git config --global user.email "${{ secrets.GIT_USERNAME }}@digicert.com" | ||
git config --global user.name "${{ secrets.GIT_USERNAME }}" | ||
- name: Update Version in pom.xml | ||
run: | | ||
mvn versions:set -DnewVersion=${{ steps.new_version.outputs.new_version }} -DgenerateBackupPoms=false | ||
- name: Build with Maven | ||
run: mvn clean install | ||
|
||
- name: Generate Javadocs | ||
run: mvn javadoc:javadoc | ||
|
||
- name: Create Tag | ||
run: | | ||
git tag -a v${{ steps.new_version.outputs.new_version }} -m "Tagging v${{ steps.new_version.outputs.new_version }}" | ||
git push origin v${{ steps.new_version.outputs.new_version }} | ||
- name: Publish to Maven Central Beta | ||
run: | | ||
mvn -pl library javadoc:jar | ||
mvn --batch-mode clean deploy -P deploy-to-maven-central-beta -DskipTests | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters