Skip to content

Publish Maven Package #24

Publish Maven Package

Publish Maven Package #24

Workflow file for this run

name: Publish Maven Package
on:
push:
branches:
- main
workflow_dispatch:
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
# cache: 'maven'
- name: Set up Maven
uses: stCarolas/setup-maven@07fbbe97d97ef44336b7382563d66743297e442f # v4.5
with:
maven-version: 3.8.2
- name: Import GPG Key
run: |
echo "${{ secrets.GPG_PRIVATE_KEY }}" | gpg --batch --import
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
# - name: Cache Maven packages
# uses: actions/cache@v4
# with:
# path: ~/.m2
# key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
# restore-keys: ${{ runner.os }}-m2
- name: Create settings.xml
run: echo "$MAVEN_SETTINGS" > $HOME/.m2/settings.xml
shell: bash
env:
MAVEN_SETTINGS: ${{ secrets.MAVEN_SETTINGS }}
- name: Build with Maven
run: mvn -B package --file pom.xml
- name: Publish to GitHub Packages
run: |
REPO="github::default::https://maven.pkg.github.com/${{github.repository}}"
mvn -B deploy -DaltDeploymentRepository="${REPO}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish to Maven Central
run: |
mvn deploy
# - name: Build and Test
# uses: qcastel/github-actions-maven-cmd@master
# with:
# maven-args: "clean install -Ddockerfile.skip -DdockerCompose.skip -Djib.skip"
# - name: Java Maven release
# uses: qcastel/github-actions-maven-release@master
# env:
# JAVA_HOME: /usr/lib/jvm/java-17-openjdk/
# with:
# git-release-bot-name: "bot-idhub"
# git-release-bot-email: "bot@idhub.io"
# maven-args: "-Dmaven.javadoc.skip=true -DskipTests -DskipITs -Ddockerfile.skip -DdockerCompose.skip -Dmaven.deploy.skip=true"
# ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}