build-on-release #149
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: "Update YugabyteDB version" | |
on: | |
repository_dispatch: | |
types: | |
- build-on-release | |
jobs: | |
update-version: | |
if: github.event.client_payload.prerelease == 'false' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: "Configure git" | |
run: | | |
git config user.name 'YugaByte CI' | |
git config user.email '[email protected]' | |
- name: "Extract version number from tag" | |
id: extract-version | |
run: | | |
tag_name="${{ github.event.client_payload.release }}" | |
echo "Extracting version number from the tag '${tag_name}'." | |
version_number="${tag_name/v/}" | |
# Keep dots and count the string length | |
dot_count="$(res="${version_number//[^.]/}"; echo "${#res}")" | |
if [[ "${dot_count}" -eq 2 ]]; then | |
version_number="${version_number}.0" | |
fi | |
if [[ "$(res="${version_number//[^.]/}"; echo "${#res}")" -ne 3 ]]; then | |
echo "The tag '${tag_name}' is invalid. Expected format: 'v1.2.3' or 'v1.2.3.5'." 1>&2 | |
exit 1 | |
fi | |
echo "Extracted the version number '${version_number}'." | |
echo "::set-output name=yb_version::${version_number}" | |
- name: "Update the version" | |
id: update-version | |
continue-on-error: true | |
run: | | |
.ci/update-version.sh '${{steps.extract-version.outputs.yb_version}}' | |
- name: "Push the changes" | |
if: steps.update-version.outcome == 'success' | |
run: | | |
git status | |
git diff | |
git add variables.tf | |
git commit -m "Update the version to ${{steps.extract-version.outputs.yb_version}}" | |
git push origin ${{ github.ref }} | |
- name: "Status in case of update-version failure" | |
if: steps.update-version.outcome == 'failure' | |
run: | | |
git status | |
git diff | |
exit 1 |