Merge pull request #1639 from schemacrawler/v16.22.1 #733
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create Release | |
on: | |
workflow_dispatch: | |
push: | |
tags: | |
- v[0-9]+.[0-9]+.[0-9]+ | |
- v[0-9]+.[0-9]+.[0-9]+-[A-Z] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Create Release | |
runs-on: ubuntu-latest | |
steps: | |
# SETUP BUILD ENVIRONMENT | |
- id: prepare-maven-build | |
name: Prepare Maven build | |
uses: sualeh/[email protected] | |
with: | |
java-version: 8 | |
- id: install-graphviz | |
name: Install Graphviz | |
uses: sualeh/[email protected] | |
# BUILD FOR DISTRIBUTION | |
- id: build | |
name: Build and test for distribution | |
shell: bash | |
run: | | |
# Build | |
mvn \ | |
--no-transfer-progress \ | |
--batch-mode \ | |
-Ddistrib \ | |
-Ddocker.skip=false \ | |
clean install | |
# PUBLISH DOCKER IMAGE | |
- id: publish-docker-image | |
name: Publish Docker image | |
env: | |
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} | |
shell: bash | |
run: | | |
# Publish Docker image | |
docker version | |
docker image tag schemacrawler/schemacrawler schemacrawler/schemacrawler:v16.22.1 | |
docker image tag schemacrawler/schemacrawler schemacrawler/schemacrawler:latest | |
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin | |
docker push --all-tags schemacrawler/schemacrawler | |
docker logout | |
# CREATE GITHUB RELEASE AND ADD ASSETS | |
- id: upload-artifacts | |
name: Upload installers | |
uses: actions/upload-artifact@v4 | |
with: | |
name: release-artifacts-v16.22.1 | |
path: | | |
./schemacrawler-distrib/target/schemacrawler-16.22.1-distribution.zip | |
./schemacrawler-distrib/target/schemacrawler-16.22.1-distribution.zip.SHA-512 | |
./schemacrawler-distrib/target/schemacrawler-16.22.1-bin.zip | |
./schemacrawler-distrib/target/schemacrawler-16.22.1-bin.zip.SHA-512 | |
retention-days: 1 | |
- id: create-release | |
name: Create GitHub release | |
uses: softprops/action-gh-release@v2 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
name: ${{ github.ref_name }} | |
draft: false | |
prerelease: false | |
body: | | |
SchemaCrawler ${{ github.event.release.tag_name }} release at last commit ${{ github.sha }} | |
See the change history at https://www.schemacrawler.com/changes-report.html | |
generate_release_notes: true | |
files: | | |
./schemacrawler-distrib/target/schemacrawler-16.22.1-distribution.zip | |
./schemacrawler-distrib/target/schemacrawler-16.22.1-distribution.zip.SHA-512 | |
./schemacrawler-distrib/target/schemacrawler-16.22.1-bin.zip | |
./schemacrawler-distrib/target/schemacrawler-16.22.1-bin.zip.SHA-512 | |
# PUBLISH TO CENTRAL REPOSITORY | |
- id: install-secret-key | |
name: Install secret key | |
if: startsWith(github.ref, 'refs/tags/') | |
# Note: OSSRH_GPG_SECRET_KEY is exported using gpg --export-secret-keys -a <keyid> | |
# and has newlines substituted with a literal \n | |
shell: bash | |
run: | | |
# Install secret key | |
cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import | |
gpg --list-secret-keys --keyid-format LONG | |
- id: publish-to-central | |
name: Publish to Central Repository | |
if: startsWith(github.ref, 'refs/tags/') | |
env: | |
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} | |
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} | |
shell: bash | |
run: | | |
# Publish to Central Repository | |
export GPG_TTY=$(tty) | |
mvn \ | |
--no-transfer-progress \ | |
--batch-mode \ | |
-Ddistrib \ | |
-Dmaven.javadoc.skip=false \ | |
-Dskip.signing.artifacts=false \ | |
-Dgpg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} \ | |
clean deploy |