Skip to content

Commit

Permalink
ci: Add release GitHub workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
leomillon committed Aug 19, 2020
1 parent 8780d95 commit 7180c29
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Publish release
on:
push:
tags:
- "[0-9]+.[0-9]+*"

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup java
uses: actions/setup-java@v1.4.1
with:
java-version: 1.8
- name: Check version not snapshot
run: |
PROJECT_VERSION=$(./gradlew -q printVersion | tail -n 1)
echo "Project version is $PROJECT_VERSION"
if [[ "$PROJECT_VERSION" == *"SNAPSHOT" ]]; then exit 1; fi
- name: Decrypt large secret
run: |
chmod +x ./.github/workflows/decrypt_secret.sh
./.github/workflows/decrypt_secret.sh
env:
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
- name: Build
run: ./gradlew build
- name: Publish
run: ./gradlew publish -PossrhUrl="$PUBLISH_RELEASE_REPO_URL" -PossrhUsername="$PUBLISH_REPO_USERNAME" -PossrhPassword="$PUBLISH_REPO_PASSWORD" -Psigning.keyId="$GPG_KEY_ID" -Psigning.password="$GPG_PASSPHRASE" -Psigning.secretKeyRingFile="$SIGN_FILE_PATH"
env:
PUBLISH_RELEASE_REPO_URL: https://oss.sonatype.org/service/local/staging/deploy/maven2/
PUBLISH_REPO_USERNAME: ${{ secrets.PUBLISH_REPO_USERNAME }}
PUBLISH_REPO_PASSWORD: ${{ secrets.PUBLISH_REPO_PASSWORD }}
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
SIGN_FILE_PATH: "${{ github.workspace }}/.github/workflows/jcv_sign.gpg"
- name: Create Github release
run: |
set -x
assets=()
for asset in ${JCV_CORE_ASSETS_FOLDER}; do
assets+=("-a" "$asset")
done
for asset in ${JCV_ASSERTJ_ASSETS_FOLDER}; do
assets+=("-a" "$asset")
done
for asset in ${JCV_HAMCREST_ASSETS_FOLDER}; do
assets+=("-a" "$asset")
done
hub release create --draft "${assets[@]}" -m "Release of ${{ github.ref }}" "${{ github.ref }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JCV_CORE_ASSETS_FOLDER: "${{ github.workspace }}/jcv-core/build/libs/*"
JCV_ASSERTJ_ASSETS_FOLDER: "${{ github.workspace }}/jcv-assertj/build/libs/*"
JCV_HAMCREST_ASSETS_FOLDER: "${{ github.workspace }}/jcv-hamcrest/build/libs/*"

0 comments on commit 7180c29

Please sign in to comment.