mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-06-26 18:54:43 +02:00
build: Overhaul build & deployment workflow (#3267)
* Fixes #3250 * build: Overhaul build & deployment workflow - Move to release drafter - Replace publishing with gradle nexus - Conventional commits are handy - Determine build status in gh actions before deploying
This commit is contained in:
20
.github/release-drafter.yml
vendored
Normal file
20
.github/release-drafter.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
categories:
|
||||
- title: '🐛 Fixes'
|
||||
label: 'Bugfix'
|
||||
- title: '✨ Features'
|
||||
label: 'Feature'
|
||||
- title: '🧭 Changes'
|
||||
label: 'Enhancement'
|
||||
- title: '📦 Dependency updates'
|
||||
labels:
|
||||
- 'Renovate'
|
||||
- 'Dependency updates'
|
||||
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
|
||||
change-title-escapes: '\<*_&@'
|
||||
exclude-contributors:
|
||||
- 'renovate'
|
||||
- 'renovate-bot'
|
||||
template: |
|
||||
## PlotSquared v6.
|
||||
|
||||
$CHANGES
|
26
.github/workflows/build.yml
vendored
26
.github/workflows/build.yml
vendored
@ -1,6 +1,6 @@
|
||||
name: "build"
|
||||
|
||||
on: ["pull_request", "push"]
|
||||
on: [ "pull_request", "push" ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@ -8,6 +8,8 @@ jobs:
|
||||
steps:
|
||||
- name: "Checkout Repository"
|
||||
uses: "actions/checkout@v2.3.4"
|
||||
- name: "Validate Gradle Wrapper"
|
||||
uses: "gradle/wrapper-validation-action@v1.0.4"
|
||||
- name: "Setup JDK 16"
|
||||
uses: "actions/setup-java@v2.2.0"
|
||||
with:
|
||||
@ -15,3 +17,25 @@ jobs:
|
||||
java-version: "16"
|
||||
- name: "Clean Build"
|
||||
run: "./gradlew clean build"
|
||||
- name: "Determine release status"
|
||||
if: "${{ runner.os == 'Linux' }}"
|
||||
run: |
|
||||
if [ "$(./gradlew properties | awk '/^version:/ { print $2; }' | grep '\-SNAPSHOT')" ]; then
|
||||
echo "STATUS=snapshot" >> $GITHUB_ENV
|
||||
else
|
||||
echo "STATUS=release" >> $GITHUB_ENV
|
||||
fi
|
||||
- name: "Publish Release"
|
||||
if: "${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/v6'}}"
|
||||
run: "./gradlew publishToSonatype closeSonatypeStagingRepository"
|
||||
env:
|
||||
ORG_GRADLE_PROJECT_sonatypeUsername: "${{ secrets.SONATYPE_USERNAME }}"
|
||||
ORG_GRADLE_PROJECT_sonatypePassword: "${{ secrets.SONATYPE_PASSWORD }}"
|
||||
ORG_GRADLE_PROJECT_signingKey: "${{ secrets.SIGNING_KEY }}"
|
||||
ORG_GRADLE_PROJECT_signingPassword: "${{ secrets.SIGNING_PASSWORD }}"
|
||||
- name: "Publish Snapshot"
|
||||
if: "${{ runner.os == 'Linux' && env.STATUS != 'release' && github.event_name == 'push' && github.ref == 'refs/heads/v6' }}"
|
||||
run: "./gradlew publishToSonatype"
|
||||
env:
|
||||
ORG_GRADLE_PROJECT_sonatypeUsername: "${{ secrets.SONATYPE_USERNAME }}"
|
||||
ORG_GRADLE_PROJECT_sonatypePassword: "${{ secrets.SONATYPE_PASSWORD }}"
|
||||
|
14
.github/workflows/release-drafter.yml
vendored
Normal file
14
.github/workflows/release-drafter.yml
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
name: "draft release"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- v6
|
||||
|
||||
jobs:
|
||||
update_release_draft:
|
||||
runs-on: "ubuntu-latest"
|
||||
steps:
|
||||
- uses: "release-drafter/release-drafter@v5.15.0"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
12
.github/workflows/validate-gradle-wrapper.yml
vendored
12
.github/workflows/validate-gradle-wrapper.yml
vendored
@ -1,12 +0,0 @@
|
||||
name: "validate gradle wrapper"
|
||||
|
||||
on: ["pull_request", "push"]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: "ubuntu-20.04"
|
||||
steps:
|
||||
- name: "Checkout Repository"
|
||||
uses: "actions/checkout@v2.3.4"
|
||||
- name: "Validate Gradle Wrapper"
|
||||
uses: "gradle/wrapper-validation-action@v1.0.4"
|
Reference in New Issue
Block a user