1.7.1 #32
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release to Maven Central | |
on: | |
workflow_dispatch: | |
release: | |
types: [ published ] | |
jobs: | |
tests: | |
runs-on: ubuntu-20.04 | |
container: wirebot/cryptobox:1.4.0 | |
# enable postgres | |
services: | |
postgres: | |
image: postgres:15 | |
env: | |
POSTGRES_PASSWORD: postgres | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup Environment Variables | |
run: | | |
echo "POSTGRES_USER=postgres" >> $GITHUB_ENV | |
echo "POSTGRES_PASSWORD=postgres" >> $GITHUB_ENV | |
echo "POSTGRES_URL=postgres:5432/postgres" >> $GITHUB_ENV | |
- name: Execute Tests | |
run: | | |
mvn test -DargLine="-Djava.library.path=$LD_LIBRARY_PATH" | |
- name: Try to create package | |
run: | | |
mvn package -DskipTests | |
- name: Webhook to Wire | |
uses: 8398a7/action-slack@v3 | |
with: | |
status: ${{ job.status }} | |
author_name: Xenon - test execution before release | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.WEBHOOK_RELEASE }} | |
if: failure() | |
release: | |
needs: [ tests ] | |
name: Release on Sonatype OSS | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: 17 | |
- name: Build with Maven | |
run: mvn -DskipTests package | |
- name: Set up Apache Maven Central | |
uses: actions/setup-java@v3 | |
with: # running setup-java again overwrites the settings.xml | |
distribution: 'temurin' | |
java-version: 17 | |
server-id: ossrh | |
server-username: OSSRH_USERNAME | |
server-password: OSSRH_PASSWORD | |
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} | |
gpg-passphrase: MAVEN_GPG_PASSPHRASE | |
- name: Publish to Apache Maven Central | |
run: mvn -DskipTests deploy | |
env: | |
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} | |
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} | |
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} | |
MAVEN_OPTS: "--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED" | |
# Send webhook to Wire using Slack Bot | |
- name: Webhook to Wire | |
uses: 8398a7/action-slack@v3 | |
with: | |
status: ${{ job.status }} | |
author_name: Xenon - Release to Maven Central | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.WEBHOOK_RELEASE }} | |
# Send message only if previous step failed | |
if: always() |