Skip to content

[Release] Release v0.70.0 #420

[Release] Release v0.70.0

[Release] Release v0.70.0 #420

Workflow file for this run

name: Release
on:
push:
# Run a real release on pushes to tags like v1.0, v2.3.4, etc.
tags:
- "v*"
# Run a dry-run on pushes to any branch
branches:
- "**"
jobs:
publish:
# Dynamically set the job name based on the trigger
name: ${{ startsWith(github.ref, 'refs/tags/') && 'Publish Release' || 'Run Release Dry-Run' }}
runs-on:
group: databricks-deco-testing-runner-group
labels: ubuntu-latest-deco
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Java for publishing to Maven Central Repository
uses: actions/setup-java@v3
with:
java-version: 8
server-id: central
distribution: "adopt"
server-username: MAVEN_CENTRAL_USERNAME
server-password: MAVEN_CENTRAL_PASSWORD
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: GPG_PASSPHRASE
# This step runs ONLY on branch pushes (dry-run)
- name: Run Release Dry-Run (Verify)
if: "!startsWith(github.ref, 'refs/tags/')"
run: mvn -Prelease -DskipTests=true --batch-mode verify
env:
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
# This step runs ONLY on tag pushes (real release)
- name: Publish to Maven Central Repository (Deploy)
if: "startsWith(github.ref, 'refs/tags/')"
run: mvn -Prelease -DskipTests=true --batch-mode deploy
env:
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
- name: Write release notes to file
run: |
if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
RELEASE_NOTES_DIR=/tmp/release-notes
mkdir -p "$RELEASE_NOTES_DIR"
RELEASE_NOTES_FILE="$RELEASE_NOTES_DIR/release-notes.md"
git for-each-ref --format='%(body)' ${{ github.ref }} > "$RELEASE_NOTES_FILE"
echo "Release notes file: $RELEASE_NOTES_FILE"
echo "Release notes contents:"
cat "$RELEASE_NOTES_FILE"
else
echo "Not a release tag, skipping release notes"
fi
# This step also runs ONLY on tag pushes (real release)
- name: Create GitHub release
if: "startsWith(github.ref, 'refs/tags/')"
uses: softprops/action-gh-release@v1
with:
files: databricks-sdk-java/target/*.jar
body_path: /tmp/release-notes/release-notes.md