61 lines
1.9 KiB
YAML
61 lines
1.9 KiB
YAML
# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
|
|
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path
|
|
|
|
name: Maven Deploy
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
releaseVersion:
|
|
description: 'Release version'
|
|
required: true
|
|
default: "X.Y.Z"
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
environment: deploy
|
|
permissions:
|
|
contents: write
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Set up JDK 11
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'temurin'
|
|
java-package: 'jdk'
|
|
java-version: '21'
|
|
server-id: 'alex9849-nexus'
|
|
server-username: NEXUS_USERNAME
|
|
server-password: NEXUS_PASSWORD
|
|
gpg-private-key: ${{ secrets.MAVEN_PGP_SECRET_KEY }}
|
|
gpg-passphrase: MAVEN_PGP_PASSPHRASE
|
|
|
|
- name: Set version
|
|
run: |
|
|
mvn --no-transfer-progress --batch-mode versions:set -DnewVersion=${{ github.event.inputs.releaseVersion }}
|
|
mvn --no-transfer-progress --batch-mode versions:commit
|
|
|
|
- name: Publish to Nexus
|
|
env:
|
|
MAVEN_PGP_PASSPHRASE: ${{ secrets.MAVEN_PGP_PASSPHRASE }}
|
|
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
|
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
|
|
run: mvn --no-transfer-progress --batch-mode clean deploy -P release
|
|
|
|
- name: Get artifacts
|
|
run: |
|
|
mkdir push
|
|
cp ./advancedregionmarket/target/*.jar ./push
|
|
rm -f ./push/original-*.jar
|
|
rm -f ./push/*-shaded.jar
|
|
|
|
- name: Github release
|
|
uses: softprops/action-gh-release@v1
|
|
with:
|
|
tag_name: ${{ github.event.inputs.releaseVersion }}
|
|
fail_on_unmatched_files: true
|
|
files: push/*
|