diff --git a/.github/README.org b/.github/README.org new file mode 100644 index 0000000..1c882b8 --- /dev/null +++ b/.github/README.org @@ -0,0 +1,41 @@ +* Deploying using Github Actions + +** Actions definition: workflow/sonatype-deploy.yml + +When a GitHub Release is created, usually from a tag, this action will trigger. + +Using JDK8 the software will be packaged, including running any tests. + +Then the Deploy script will sign the created artifacts then deploy them according to the distributionManagement configuration in the `pom.xml`. + +** Deploy Script + +Uses a signing key provided from the GitHub Actions Secrets as an environment variable to sign the artifact(s) before they are then deployed. + +*** Inputs + +**** DEPLOY_PROJECTS (optional) + +An optional list of modules in a multi-module project to be deployed. If this value is not specified, then all projects will be deployed. + +** Maven Configuration + +Picks up the credentials from Environment variables for authenticating both with GPG and with the target deployment server (e.g. sonatype-nexus). + +*** Inputs + +**** NEXUS_USERNAME + +The username for your account on the deployment server. + +**** NEXUS_PASSWORD + +The password for your account on the deployement server. + +**** GPG_KEYNAME + +The key to use when signing. + +**** GPG_PASSPHRASE + +The passphrase to unlock the key to use when signing. diff --git a/.github/codesigning.asc b/.github/codesigning.asc new file mode 100644 index 0000000..08178e2 --- /dev/null +++ b/.github/codesigning.asc @@ -0,0 +1,147 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +4gzg +=F17r +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PRIVATE KEY BLOCK----- + +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 +YnrH8xWmHFrq54Lki4uM9ZriDOA= +=LsWH +-----END PGP PRIVATE KEY BLOCK----- diff --git a/.github/codesigning.asc.gpg b/.github/codesigning.asc.gpg new file mode 100644 index 0000000..6327d43 Binary files /dev/null and b/.github/codesigning.asc.gpg differ diff --git a/.github/deploy.sh b/.github/deploy.sh new file mode 100644 index 0000000..5504f4e --- /dev/null +++ b/.github/deploy.sh @@ -0,0 +1,43 @@ +#!/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 +) + +if test -z ${DEPLOY_PROJECTS} +then + PROJECTS="" + echo "Deploying Projects: all" +else + PROJECTS="-pl ${DEPLOY_PROJECTS}" + echo "Deploying Projects: $DEPLOY_PROJECTS" +fi + +echo "Releasing..." +mvn ${PROJECTS} \ + --settings .github/settings.xml \ + -Dskip-Tests=true \ + -P release \ + -B \ + deploy + +echo "deploy.sh: Done." diff --git a/.github/settings.xml b/.github/settings.xml new file mode 100644 index 0000000..8791e47 --- /dev/null +++ b/.github/settings.xml @@ -0,0 +1,28 @@ + + + + + sonatype-nexus-snapshots + ${env.NEXUS_USERNAME} + ${env.NEXUS_PASSWORD} + + + sonatype-nexus-staging + ${env.NEXUS_USERNAME} + ${env.NEXUS_PASSWORD} + + + + + gpg-sign + + true + + + gpg + ${env.GPG_KEYNAME} + ${env.GPG_PASSPHRASE} + + + + diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml new file mode 100644 index 0000000..a982925 --- /dev/null +++ b/.github/workflows/maven-build.yml @@ -0,0 +1,25 @@ +# 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: maven + +on: + push: + branches: '*' + pull_request: + branches: '*' + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + java: [ 8, 11 ] + steps: + - uses: actions/checkout@v2 + - name: setup-jdk-${{ matrix.java }} + uses: actions/setup-java@v1 + with: + java-version: ${{ matrix.java }} + - name: install + run: mvn -B install diff --git a/.github/workflows/sonatype-deploy.yml b/.github/workflows/sonatype-deploy.yml new file mode 100644 index 0000000..3068ff8 --- /dev/null +++ b/.github/workflows/sonatype-deploy.yml @@ -0,0 +1,24 @@ +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 package + - 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 }}