Files
LicenseAPI/.github/workflows/deploy-java.yml
2024-07-21 16:14:38 +02:00

54 lines
1.9 KiB
YAML

name: Deploy to GitHub Maven
on:
push:
paths:
- 'integrations/java/pom.xml'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '8'
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Verify version change
id: get_version
run: |
echo "VERSION=$(mvn -f integrations/java/pom.xml help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV
echo "VERSION: $VERSION"
- name: Check if version changed
id: version_check
run: |
git fetch origin main
LAST_VERSION=$(git show origin/main:integrations/java/pom.xml | grep -m1 '<version>' | sed -E 's/.*<version>([^<]+)<\/version>.*/\1/')
echo "LAST_VERSION: $LAST_VERSION"
if [ -z "$LAST_VERSION" ] || [ "$LAST_VERSION" == "$VERSION" ]; then
echo "Version did not change or no previous version found. Skipping deployment."
exit 0
fi
- name: Build and deploy
if: steps.version_check.outputs.LAST_VERSION != steps.get_version.outputs.VERSION || steps.version_check.outputs.LAST_VERSION == ''
run: |
mkdir ~/.m2
echo "<settings><servers><server><id>github</id><username>${{ github.actor }}</username><password>${{ github.token }}</password></server></servers></settings>" > ~/.m2/settings.xml
mvn -f integrations/java/pom.xml deploy \
-DskipTests \
-DaltDeploymentRepository=github::default::https://maven.pkg.github.com/${{ github.repository }}