Skip to content

release-to-maven-central #21

release-to-maven-central

release-to-maven-central #21

name: release-to-maven-central
on:
workflow_dispatch:
inputs:
releaseversion:
description: 'Release version'
required: true
default: '1.12.0'
jobs:
publish:
runs-on: ubuntu-latest
env:
DOCKER_IMAGE: "aemdesign/centos-java-buildpack"
SONAR_ORGANISATION: "aemdesign-github"
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_URL: "https://sonarcloud.io"
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
GITHUB_USER: aemdesign
GITHUB_EMAIL: ${{ secrets.GITHUB_EMAIL }}
GITHUB_USERNAME: ${{ secrets.GITHUB_USERNAME }}
GITHUB_TOKEN_ADMIN: ${{ secrets.GITHUB_TOKEN_ADMIN }}
AEM_NAME: ${{ secrets.AEM_NAME }}
AEM_KEY: ${{ secrets.AEM_KEY }}
GPG_SECRET_KEYS: ${{ secrets.GPG_SECRET_KEYS }}
GPG_OWNERTRUST: ${{ secrets.GPG_OWNERTRUST }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
GPG_EXECUTABLE: gpg
GPG_PRESET_EXECUTABLE: /usr/lib/gnupg/gpg-preset-passphrase
GPG_PUBID: "50A036956AAC64C13EF47B10D1E96A30ECFC7DFF"
GPG_PUBID_KEYGRIP: "020E615868703482DC2CD110B98D2702B6ABF89C"
steps:
- run: echo "Will start a Maven Central upload with version ${{ github.event.inputs.releaseversion }}"
- uses: actions/checkout@v3
- name: Set up settings.xml for Maven Central Repository
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: 17
server-id: ossrh
server-username: SONATYPE_USERNAME
server-password: SONATYPE_PASSWORD
- name: setup gpg
run: |
source <(curl -sL https://github.com/aem-design/aemdesign-docker/releases/latest/download/setup-gpg.sh)
- name: Set projects Maven version to GitHub Action GUI set version
run: mvn versions:set "-DnewVersion=${{ github.event.inputs.releaseversion }}" --no-transfer-progress
- name: deploy to maven central
run: |
echo $GPG_SECRET_KEYS | base64 --decode | $GPG_EXECUTABLE --import
echo $GPG_OWNERTRUST | base64 --decode | $GPG_EXECUTABLE --import-ownertrust
mvn deploy --settings default.xml -P ossrh --no-transfer-progress --batch-mode
env:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
# - name: Publish package
# run: mvn --batch-mode clean deploy --no-transfer-progress -P central-deploy -DskipTests=true
- name: get release notes
id: config
run: |
source <(curl -sL https://github.com/aem-design/aemdesign-docker/releases/latest/download/github_get_version.sh)
# - name: Generate changelog
# id: changelog
# uses: metcalfc/changelog-generator@v4.0.1
# with:
# myToken: ${{ secrets.GITHUB_TOKEN }}
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.event.inputs.releaseversion }}
release_name: ${{ github.event.inputs.releaseversion }}
body: |
Grab the new version from Maven central https://search.maven.org/artifact/design.aem/cloning/${{ github.event.inputs.releaseversion }}/:
```
<dependencies>
<dependency>
<groupId>design.aem</groupId>
<artifactId>cloning</artifactId>
<version>${{ github.event.inputs.releaseversion }}</version>
</dependency>
</dependencies>
```
### Things that changed in this release
${{ steps.config.outputs.GIT_RELEASE_NOTES }}
draft: false
prerelease: false