#87 - Initial scripts and tweaks for build and release via GitHub Actions.

This commit is contained in:
Oliver Drotbohm
2022-09-12 17:45:59 +02:00
parent 63a641de90
commit a656089bb4
10 changed files with 149 additions and 180 deletions

33
.github/workflows/build.yaml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: CI Build
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
name: Build project
runs-on: ubuntu-latest
steps:
- name: Check out sources
uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 17
cache: 'maven'
- name: Build with Maven
run: ./mvnw -B
- name: Deploy to Artifactory
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: ./mvnw -B clean deploy -Pci,artifactory

34
.github/workflows/milestone.yaml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: Release Milestones
on:
push:
branches: [ release/milestone ]
jobs:
build:
name: Release project
runs-on: ubuntu-latest
steps:
- name: Check out sources
uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 17
cache: 'maven'
- name: Build with Maven
run: ./mvnw -B
- name: Deploy to Artifactory
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: ./mvnw -B clean deploy -Pci,artifactory
- name: Setup Graphviz
uses: ts-graphviz/setup-graphviz@v1

39
.github/workflows/release.yaml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: Release to Maven Central
on:
push:
branches: [ release/release ]
jobs:
build:
name: Release project
runs-on: ubuntu-latest
steps:
- name: Check out sources
uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 17
cache: 'maven'
- name: Install GPG key
run: |
echo "${{ secrets.GPG_PRIVATE_KEY }}" > gpg.asc
echo "${{ secrets.GPG_PASSPHRASE }}" | gpg --batch --yes --passphrase-fd 0 --import gpg.asc
- name: Release to Sonatype OSSRH
env:
SONATYPE_USER: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
run: |
./mvnw -B clean install -DskipTests
./mvnw -B clean deploy -Psonatype -s settings.xml
- name: Setup Graphviz
uses: ts-graphviz/setup-graphviz@v1