#87 - Initial scripts and tweaks for build and release via GitHub Actions.
This commit is contained in:
33
.github/workflows/build.yaml
vendored
Normal file
33
.github/workflows/build.yaml
vendored
Normal 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
34
.github/workflows/milestone.yaml
vendored
Normal 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
39
.github/workflows/release.yaml
vendored
Normal 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
|
||||
Reference in New Issue
Block a user