From 6b9c35e72446d7b8475c4a82732d1faa797cb026 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sat, 11 Jul 2020 15:18:54 +0100 Subject: [PATCH] Upgrade github actions (#20) --- .github/deploy.sh | 33 ---------------------- .github/release-drafter.yml | 34 +++++++++++++++++++++++ .github/stale.yaml | 17 ++++++++++++ .github/workflows/build-maven.yml | 23 +++++++++++++++ .github/workflows/deploy-sonatype.yml | 40 +++++++++++++++++++++++++++ .github/workflows/draft-release.yml | 14 ++++++++++ .github/workflows/maven-build.yml | 25 ----------------- .github/workflows/sonatype-deploy.yml | 24 ---------------- 8 files changed, 128 insertions(+), 82 deletions(-) delete mode 100644 .github/deploy.sh create mode 100644 .github/release-drafter.yml create mode 100644 .github/stale.yaml create mode 100644 .github/workflows/build-maven.yml create mode 100644 .github/workflows/deploy-sonatype.yml create mode 100644 .github/workflows/draft-release.yml delete mode 100644 .github/workflows/maven-build.yml delete mode 100644 .github/workflows/sonatype-deploy.yml diff --git a/.github/deploy.sh b/.github/deploy.sh deleted file mode 100644 index 384f4b6..0000000 --- a/.github/deploy.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash - -# Decrypts the signing key in .github/codesigning.asc.enc -# Imports that key -# Uses .github/settings.xml and the release profile to deploy - -echo "deploy.sh: Starting..." - -( - cd .github - - echo "Retrieving GPG Private KEY" - gpg --quiet \ - --batch \ - --yes \ - --decrypt \ - --passphrase="${GPG_PASSPHRASE}" \ - --output codesigning.asc \ - codesigning.asc.gpg - - echo "Loading signing key" - gpg --batch \ - --fast-import codesigning.asc -) - -echo "Releasing..." -mvn --settings .github/settings.xml \ - -Dskip-Tests=true \ - -P release \ - -B \ - deploy - -echo "deploy.sh: Done." diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..146ec7d --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,34 @@ +name-template: 'v$RESOLVED_VERSION 🌈' +tag-template: 'v$RESOLVED_VERSION' +categories: + - title: '🚀 Features' + labels: + - 'feature' + - 'enhancement' + - title: '🐛 Bug Fixes' + labels: + - 'fix' + - 'bugfix' + - 'bug' + - title: '🧰 Maintenance' + labels: + - 'chore' + - 'dependencies' +change-template: '- $TITLE @$AUTHOR (#$NUMBER)' +version-resolver: + major: + labels: + - 'major' + minor: + labels: + - 'minor' + patch: + labels: + - 'patch' + default: patch +exclude-labels: + - 'skip-changelog' +template: | + ## Changes + + $CHANGES diff --git a/.github/stale.yaml b/.github/stale.yaml new file mode 100644 index 0000000..dc90e5a --- /dev/null +++ b/.github/stale.yaml @@ -0,0 +1,17 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 60 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 7 +# Issues with these labels will never be considered stale +exemptLabels: + - pinned + - security +# Label to use when marking an issue as stale +staleLabel: wontfix +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false diff --git a/.github/workflows/build-maven.yml b/.github/workflows/build-maven.yml new file mode 100644 index 0000000..fd1129e --- /dev/null +++ b/.github/workflows/build-maven.yml @@ -0,0 +1,23 @@ +name: maven-build + +on: + push: + branches: '*' + pull_request: + branches: '*' + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + java: [ 8, 11, 14 ] + steps: + - uses: kamiazya/setup-graphviz@v1 + - uses: actions/checkout@v2 + - name: setup-jdk-${{ matrix.java }} + uses: actions/setup-java@v1 + with: + java-version: ${{ matrix.java }} + - name: build-jar + run: mvn -B install diff --git a/.github/workflows/deploy-sonatype.yml b/.github/workflows/deploy-sonatype.yml new file mode 100644 index 0000000..ea469cb --- /dev/null +++ b/.github/workflows/deploy-sonatype.yml @@ -0,0 +1,40 @@ +name: sonatype-deploy + +on: + push: + tags: + - "v*" + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: kamiazya/setup-graphviz@v1 + - uses: actions/checkout@v2 + - name: Set up JDK + uses: actions/setup-java@v1 + with: + java-version: 8 + - name: Build with Maven + run: mvn -B install + - name: Nexus Repo Publish + run: | + gpg --quiet \ + --batch \ + --yes \ + --decrypt \ + --passphrase="${{ secrets.GPG_PASSPHRASE }}" \ + --output codesigning.asc \ + .github/codesigning.asc.gpg + gpg --batch \ + --fast-import codesigning.asc + mvn --settings .github/settings.xml \ + -Dskip-Tests=true \ + -P release \ + -B \ + deploy + env: + NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} + NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} + GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml new file mode 100644 index 0000000..f3d4750 --- /dev/null +++ b/.github/workflows/draft-release.yml @@ -0,0 +1,14 @@ +name: draft-release + +on: + push: + branches: + - master + +jobs: + update_draft_release: + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v5.11.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml deleted file mode 100644 index 470baeb..0000000 --- a/.github/workflows/maven-build.yml +++ /dev/null @@ -1,25 +0,0 @@ -# This workflow will build a Java project with Maven -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven - -name: Java CI with Maven - -on: - push: - branches: '*' - pull_request: - branches: '*' - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - java: [ 8, 11, 13 ] - steps: - - uses: actions/checkout@v2 - - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v1 - with: - java-version: ${{ matrix.java }} - - name: Build with Maven - run: mvn -B install diff --git a/.github/workflows/sonatype-deploy.yml b/.github/workflows/sonatype-deploy.yml deleted file mode 100644 index 192bf3c..0000000 --- a/.github/workflows/sonatype-deploy.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Deploy to Sonatype Nexus - -on: - release: - types: [created] - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - name: Build with Maven - run: mvn -B install - - name: Nexus Repo Publish - run: sh .github/deploy.sh - env: - NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} - NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} - GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }} - GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}