From c9763e6f64354d6c9e57205cef8eb7e5de2b3cca Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Mon, 8 Jun 2020 19:50:40 +0100 Subject: [PATCH] github: add actions (#66) --- .github/README.org | 41 +++++++ .github/codesigning.asc | 147 ++++++++++++++++++++++++++ .github/codesigning.asc.gpg | Bin 0 -> 6493 bytes .github/deploy.sh | 43 ++++++++ .github/settings.xml | 28 +++++ .github/workflows/maven-build.yml | 25 +++++ .github/workflows/sonatype-deploy.yml | 24 +++++ 7 files changed, 308 insertions(+) create mode 100644 .github/README.org create mode 100644 .github/codesigning.asc create mode 100644 .github/codesigning.asc.gpg create mode 100644 .github/deploy.sh create mode 100644 .github/settings.xml create mode 100644 .github/workflows/maven-build.yml create mode 100644 .github/workflows/sonatype-deploy.yml 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 0000000000000000000000000000000000000000..6327d4396aacf1c0c8faa4508cd6fde443e51d8f GIT binary patch literal 6493 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 + + + + 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 }}