Create release #21
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: | |
inputs: | |
commit_hash: | |
description: "Hash of 'Release version x.y.z' commit" | |
required: true | |
permissions: | |
contents: write | |
pull-requests: write | |
issues: write | |
jobs: | |
build: | |
name: Create Release | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Setup Java SDK | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.inputs.commit_hash }} | |
- name: Check commit title and extract version | |
run: | | |
export commit_title=$(git log --pretty=format:%s -1 ${{ github.event.inputs.commit_hash }}) | |
echo "Commit title: $commit_title" | |
if [[ $commit_title =~ ^Release\ version\ [0-9]*\.[0-9]*\.[0-9]*$ ]]; then | |
echo "Valid commit title" | |
else | |
echo "Invalid commit title" | |
exit 1 | |
fi | |
export version=$(echo ${commit_title} | sed s/^Release\ version\ //g) | |
echo "Will use version ${version}" | |
echo "version=${version}" >> $GITHUB_ENV | |
- name: Build | |
run: | | |
./gradlew distTar distZip | |
export gcs_tar_file=$(ls ./gcs-sink-connector/build/distributions/ | grep tar) | |
export gcs_zip_file=$(ls ./gcs-sink-connector/build/distributions/ | grep zip) | |
echo gcs_tar_file=${gcs_tar_file} >> $GITHUB_ENV | |
echo gcs_zip_file=${gcs_zip_file} >> $GITHUB_ENV | |
echo gcs_tar_path=`realpath ./gcs-sink-connector/build/distributions/${gcs_tar_file}` >> $GITHUB_ENV | |
echo gcs_zip_path=`realpath ./gcs-sink-connector/build/distributions/${gcs_zip_file}` >> $GITHUB_ENV | |
export s3_tar_file=$(ls ./s3-sink-connector/build/distributions/ | grep tar) | |
export s3_zip_file=$(ls ./s3-sink-connector/build/distributions/ | grep zip) | |
echo s3_tar_file=${s3_tar_file} >> $GITHUB_ENV | |
echo s3_zip_file=${s3_zip_file} >> $GITHUB_ENV | |
echo s3_tar_path=`realpath ./s3-sink-connector/build/distributions/${s3_tar_file}` >> $GITHUB_ENV | |
echo s3_zip_path=`realpath ./s3-sink-connector/build/distributions/${s3_tar_file}` >> $GITHUB_ENV | |
export azure_tar_file=$(ls ./azure-sink-connector/build/distributions/ | grep tar) | |
export azure_zip_file=$(ls ./azure-sink-connector/build/distributions/ | grep zip) | |
echo azure_tar_file=${azure_tar_file} >> $GITHUB_ENV | |
echo azure_zip_file=${azure_zip_file} >> $GITHUB_ENV | |
echo azure_tar_path=`realpath ./azure-sink-connector/build/distributions/${azure_tar_file}` >> $GITHUB_ENV | |
echo azure_zip_path=`realpath ./azure-sink-connector/build/distributions/${azure_tar_file}` >> $GITHUB_ENV | |
- name: Create tag | |
run: | | |
git config --local user.name "GitHub Action" | |
git config --local user.email "action@github.com" | |
git tag -a "v${{ env.version }}" -m "Release version ${{ env.version }}" | |
git push origin "v${{ env.version }}" | |
- name: Create release draft | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: "v${{ env.version }}" | |
release_name: "v${{ env.version }}" | |
commitish: ${{ github.event.inputs.commit_hash }} | |
body: | | |
*Fill in* | |
draft: true | |
prerelease: false | |
- name: Upload tar GCS | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{ env.gcs_tar_path }} | |
asset_name: ${{ env.gcs_tar_file }} | |
asset_content_type: application/tar | |
- name: Upload zip GCS | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{ env.gcs_zip_path }} | |
asset_name: ${{ env.gcs_zip_file }} | |
asset_content_type: application/zip | |
- name: Upload tar S3 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{ env.s3_tar_path }} | |
asset_name: ${{ env.s3_tar_file }} | |
asset_content_type: application/tar | |
- name: Upload zip S3 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{ env.s3_zip_path }} | |
asset_name: ${{ env.s3_zip_file }} | |
asset_content_type: application/zip | |
- name: Upload tar Azure | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{ env.azure_tar_path }} | |
asset_name: ${{ env.azure_tar_file }}} | |
asset_content_type: application/tar | |
- name: Upload zip Azure | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{ env.azure_zip_path }} | |
asset_name: ${{ env.azure_zip_file }} | |
asset_content_type: application/zip |