prerelease support

This commit is contained in:
Jonathan Shook 2020-12-04 13:31:26 -06:00
parent 53090a8c76
commit 1e457e3eb5
3 changed files with 23 additions and 3 deletions

View File

@ -93,6 +93,7 @@ jobs:
run: scripts/release-prepare.sh
env:
RELEASE_BRANCH_NAME: "main"
PRERELEASE_BRANCH_PATTERN: "-rc"
GIT_RELEASE_BOT_NAME: "nb-droid"
GIT_RELEASE_BOT_EMAIL: ${{ secrets.GIT_RELEASE_BOT_EMAIL }}
ACCESS_TOKEN: ${{ secrets.GITHUB_ACCESS_TOKEN }}
@ -167,6 +168,14 @@ jobs:
name: guidebook
path: guidebook
- name: select release type from branch name
run: |
current_branch=$(git rev-parse --abbrev-ref HEAD)
if [[ ${current_branch} == *"-rc"* ]]
then echo "PRERELEASE=true" >> $GITHUB_ENV
else echo "PRERELEASE=false" >> $GITHUB_ENV
fi
- name: create release
id: create_release
uses: actions/create-release@v1
@ -176,7 +185,7 @@ jobs:
tag_name: ${{ env.RELEASE_TAGNAME }}
release_name: Release ${{ env.RELEASE_TAGNAME }}
draft: false
prerelease: false
prerelease: ${{ env.PRERELEASE }}
body: ${{ steps.prepare_summary.outputs.release_summary }}
- name: upload nb.jar

View File

@ -19,10 +19,15 @@ if [[ "${last_release_commit_hash}" = "${GITHUB_SHA}" ]]; then
exit 0
fi
PRERELEASE_BRANCH_PATTERN=${PRERELEASE_BRANCH_PATTERN:?PRERELEASE_BRANCH_PATTERN must be provided}
# Filter the branch to execute the release on
readonly local current_branch=$(git rev-parse --abbrev-ref HEAD)
echo "Current branch: ${branch}"
if [[ -n "$RELEASE_BRANCH_NAME" && ! "${current_branch}" = "$RELEASE_BRANCH_NAME" ]]; then
if [[ -n "$RELEASE_BRANCH_NAME" && "${current_branch}" = "$RELEASE_BRANCH_NAME" ]]; then
echo "Building for release branch $RELEASE_BRANCH_NAME"
elif [[ -n "${current_branch}" && "${current_branch}" == *"${PRERELEASE_BRANCH_PATTERN}"* ]]; then
echo "Building prerelease for branch $RELEASE_BRANCH_NAME"
else
echo "Skipping for ${current_branch} branch"
exit 0
fi

View File

@ -6,12 +6,18 @@ GIT_RELEASE_BOT_NAME=${GIT_RELEASE_BOT_NAME:?GIT_RELEASE_BOT_NAME must be provid
GITHUB_SHA=${GITHUB_SHA:?GITHUB_SHA must be provided}
GITHUB_REF=${GITHUB_REF:?GITHUB_REF must be provided}
RELEASE_BRANCH_NAME=${RELEASE_BRANCH_NAME:?RELEASE_BRANCH_NAME must be provided}
PRERELEASE_BRANCH_PATTERN=${PRERELEASE_BRANCH_PATTERN:?PRERELEASE_BRANCH_PATTERN must be provided}
#git rev-parse --abbrev-ref HEAD
# Filter the branch to execute the release on
readonly local current_branch=$(git rev-parse --abbrev-ref HEAD)
echo "Current branch: ${current_branch}"
if [[ -n "$RELEASE_BRANCH_NAME" && ! "${current_branch}" = "$RELEASE_BRANCH_NAME" ]]; then
if [[ -n "$RELEASE_BRANCH_NAME" && "${current_branch}" = "$RELEASE_BRANCH_NAME" ]]; then
echo "Building for release branch $RELEASE_BRANCH_NAME"
elif [[ -n "${current_branch}" && "${current_branch}" == *"${PRERELEASE_BRANCH_PATTERN}"* ]]; then
echo "Building prerelease for branch $RELEASE_BRANCH_NAME"
else
echo "Skipping for ${current_branch} branch"
exit 0
fi