Skip to content

chore(ci/cd): publish to GitHub packages #3

chore(ci/cd): publish to GitHub packages

chore(ci/cd): publish to GitHub packages #3

name: Publish package to GitHub Packages
on:
push:
branches:
- main
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.GPG_SIGNING_KEY }}
passphrase: ${{ secrets.GPG_SIGNING_KEY_PASSWORD }}
- name: Configure GPG for CI
run: |
mkdir -p ~/.gnupg
chmod 700 ~/.gnupg
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
- name: Test GPG signing
run: |
gpg -K
echo "test gpg" > test.txt
gpg -ab test.txt
gpg --verify test.txt.asc
rm test.txt test.txt.asc
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'
- name: Publish to GitHub Packages
run: |
./mvnw --batch-mode clean deploy \
-Pcoding,publish-github -DskipTests --settings .mvn/settings.xml
env:
GITHUB_USERNAME: ${{ secrets.GH_USERNAME}}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}