Skip to content

8.8.3

8.8.3 #19

Workflow file for this run

# 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: Release to Maven Central
on:
release:
types: [ published ]
permissions:
contents: read
packages: write
jobs:
build:
name: Build postfinancecheckout
runs-on: ubuntu-22.04
strategy:
matrix: { java: [ 8 ] }
steps:
- uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: temurin
cache: maven
server-id: central
server-username: OSSRH_USERNAME
server-password: OSSRH_PASSWORD
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: SIGN_KEY_PASS
# Install Maven 3.9.11 if it's not already installed (instead of default Ubuntu Maven)
- name: Install Maven (specific version 3.9.11)
run: |
# Check if Maven is already installed
if ! mvn -version &>/dev/null; then
echo "Maven not found. Installing Maven 3.9.11..."
# Update package list and install required dependencies
sudo apt-get update
sudo apt-get install -y wget
# Download Maven 3.9.11 tar.gz
wget https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.tar.gz
# Extract and move Maven to /opt
sudo tar -xvzf apache-maven-3.9.11-bin.tar.gz -C /opt
# Set up environment variables for Maven
sudo ln -s /opt/apache-maven-3.9.11 /opt/maven
sudo ln -s /opt/maven/bin/mvn /usr/bin/mvn
# Clean up the downloaded tar.gz file
rm apache-maven-3.9.11-bin.tar.gz
echo "Maven 3.9.11 installed successfully!"
else
echo "Maven is already installed."
fi
- name: Show tool versions
run: |
java -version
mvn -v
- name: Build with Maven
id: build
run: mvn clean -B package --no-transfer-progress --file pom.xml
- name: Publish to Maven Central
id: deploy
env:
SIGN_KEY_PASS: ${{ secrets.SIGN_KEY_PASS }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
run: mvn -U -B clean deploy -P release -DskipTests=true