From fcaf65b4979bb764df4327c84c56ada46fcb3f05 Mon Sep 17 00:00:00 2001 From: Santiago Fraire Date: Mon, 21 Feb 2022 14:46:05 +0100 Subject: [PATCH 1/5] feat: add commitizen version input --- README.md | 3 ++- action.yml | 4 ++++ entrypoint.sh | 31 ++++++++++++++++--------------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 148f1ed..30578e8 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,8 @@ jobs: | `git_email` | Email address used to configure git (for git operations) | `github-actions[bot]@users.noreply.github.com` | | `push` | Define if the changes should be pushed to the branch. | true | | `commit` | Define if the changes should be committed to the branch. | true | -| | +| `commitizen_version` | Specify the version to be used by commitizen. Eg: `2.21.0` | latest | +| `changelog` | Create changelog when bumping the version | true | ## Outputs diff --git a/action.yml b/action.yml index 219a109..7932644 100644 --- a/action.yml +++ b/action.yml @@ -54,3 +54,7 @@ inputs: description: 'Email address used to configure git (for git operations)' required: false default: 'github-actions[bot]@users.noreply.github.com' + commitizen_version: + description: 'Specify the version to be used by commitizen' + required: false + default: latest diff --git a/entrypoint.sh b/entrypoint.sh index ad45cea..80fbc86 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -4,6 +4,9 @@ if [ $INPUT_DRY_RUN ]; then INPUT_DRY_RUN='--dry-run'; else INPUT_DRY_RUN=''; fi if [ $INPUT_CHANGELOG ]; then INPUT_CHANGELOG='--changelog'; else INPUT_CHANGELOG=''; fi if [ $INPUT_PRERELEASE ]; then INPUT_PRERELEASE="--prerelease $INPUT_PRERELEASE"; else INPUT_PRERELEASE=''; fi if [ "$INPUT_COMMIT" == 'false' ]; then INPUT_COMMIT='--files-only'; else INPUT_COMMIT=''; fi +if [ "$INPUT_COMMITIZEN_VERSION" == 'latest' ]; then COMMITIZEN_VERSION=''; else COMMITIZEN_VERSION="commitizen==$INPUT_COMMITIZEN_VERSION"; fi + + CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) INPUT_BRANCH=${INPUT_BRANCH:-$CURRENT_BRANCH} INPUT_EXTRA_REQUIREMENTS=${INPUT_EXTRA_REQUIREMENTS:-''} @@ -13,46 +16,44 @@ REPOSITORY=${INPUT_REPOSITORY:-$GITHUB_REPOSITORY} set -e [ -z "${INPUT_GITHUB_TOKEN}" ] && { - echo 'Missing input "github_token: ${{ secrets.GITHUB_TOKEN }}".'; - exit 1; -}; + echo 'Missing input "github_token: ${{ secrets.GITHUB_TOKEN }}".' + exit 1 +} echo "Repository: $REPOSITORY" echo "Actor: $GITHUB_ACTOR" echo "Installing requirements..." -pip install commitizen $INPUT_EXTRA_REQUIREMENTS +pip install "$COMMITIZEN_VERSION" "$INPUT_EXTRA_REQUIREMENTS" echo "Commitizen version:" cz version - echo "Configuring git user and email..." git config --local user.name "$INPUT_GIT_NAME" git config --local user.email "$INPUT_GIT_EMAIL" echo "Git name: $(git config --get user.name)" echo "Git email: $(git config --get user.email)" - echo "Running cz: $INPUT_DRY_RUN $INPUT_COMMIT $INPUT_CHANGELOG $INPUT_PRERELEASE" -if [ $INPUT_CHANGELOG_INCREMENT_FILENAME ]; -then - cz bump --yes --changelog-to-stdout $INPUT_COMMIT $INPUT_DRY_RUN $INPUT_CHANGELOG $INPUT_PRERELEASE > $INPUT_CHANGELOG_INCREMENT_FILENAME; +if [ $INPUT_CHANGELOG_INCREMENT_FILENAME ]; then + cz bump --yes --changelog-to-stdout $INPUT_COMMIT $INPUT_DRY_RUN $INPUT_CHANGELOG $INPUT_PRERELEASE >$INPUT_CHANGELOG_INCREMENT_FILENAME else - cz bump --yes $INPUT_DRY_RUN $INPUT_COMMIT $INPUT_CHANGELOG $INPUT_PRERELEASE; + cz bump --yes $INPUT_DRY_RUN $INPUT_COMMIT $INPUT_CHANGELOG $INPUT_PRERELEASE fi -export REV=`cz version --project` -echo "REVISION=$REV" >> $GITHUB_ENV +REV=$(cz version --project) +export REV + +echo "REVISION=$REV" >>$GITHUB_ENV echo "::set-output name=version::$REV" -if [ "$INPUT_PUSH" == "true" ]; -then +if [ "$INPUT_PUSH" == "true" ]; then echo "Pushing to branch..." remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${REPOSITORY}.git" git pull ${remote_repo} ${INPUT_BRANCH} - git push "${remote_repo}" HEAD:${INPUT_BRANCH} --follow-tags --tags; + git push "${remote_repo}" HEAD:${INPUT_BRANCH} --follow-tags --tags else echo "Not pushing" fi From da1ec1c97518ad3e4aa2222fc14f712322c4ede7 Mon Sep 17 00:00:00 2001 From: Santiago Date: Tue, 22 Feb 2022 07:22:05 +0000 Subject: [PATCH 2/5] Update entrypoint.sh Co-authored-by: Flore de Lasteyrie <41300908+floredelasteyrie@users.noreply.github.com> --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 80fbc86..7d3d505 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -4,7 +4,7 @@ if [ $INPUT_DRY_RUN ]; then INPUT_DRY_RUN='--dry-run'; else INPUT_DRY_RUN=''; fi if [ $INPUT_CHANGELOG ]; then INPUT_CHANGELOG='--changelog'; else INPUT_CHANGELOG=''; fi if [ $INPUT_PRERELEASE ]; then INPUT_PRERELEASE="--prerelease $INPUT_PRERELEASE"; else INPUT_PRERELEASE=''; fi if [ "$INPUT_COMMIT" == 'false' ]; then INPUT_COMMIT='--files-only'; else INPUT_COMMIT=''; fi -if [ "$INPUT_COMMITIZEN_VERSION" == 'latest' ]; then COMMITIZEN_VERSION=''; else COMMITIZEN_VERSION="commitizen==$INPUT_COMMITIZEN_VERSION"; fi +if [ "$INPUT_COMMITIZEN_VERSION" == 'latest' ]; then COMMITIZEN_VERSION="commitizen"; else COMMITIZEN_VERSION="commitizen==$INPUT_COMMITIZEN_VERSION"; fi CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) From 3cf38f6e5df2b587aa8403697b4448a5707659fc Mon Sep 17 00:00:00 2001 From: Santiago Fraire Date: Tue, 22 Feb 2022 22:53:53 +0100 Subject: [PATCH 3/5] refactor: rename cz version variable --- entrypoint.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 7d3d505..1c77446 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -4,7 +4,7 @@ if [ $INPUT_DRY_RUN ]; then INPUT_DRY_RUN='--dry-run'; else INPUT_DRY_RUN=''; fi if [ $INPUT_CHANGELOG ]; then INPUT_CHANGELOG='--changelog'; else INPUT_CHANGELOG=''; fi if [ $INPUT_PRERELEASE ]; then INPUT_PRERELEASE="--prerelease $INPUT_PRERELEASE"; else INPUT_PRERELEASE=''; fi if [ "$INPUT_COMMIT" == 'false' ]; then INPUT_COMMIT='--files-only'; else INPUT_COMMIT=''; fi -if [ "$INPUT_COMMITIZEN_VERSION" == 'latest' ]; then COMMITIZEN_VERSION="commitizen"; else COMMITIZEN_VERSION="commitizen==$INPUT_COMMITIZEN_VERSION"; fi +if [ "$INPUT_COMMITIZEN_VERSION" == 'latest' ]; then INPUT_COMMITIZEN_VERSION="commitizen"; else INPUT_COMMITIZEN_VERSION="commitizen==$INPUT_COMMITIZEN_VERSION"; fi CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) @@ -24,7 +24,7 @@ echo "Repository: $REPOSITORY" echo "Actor: $GITHUB_ACTOR" echo "Installing requirements..." -pip install "$COMMITIZEN_VERSION" "$INPUT_EXTRA_REQUIREMENTS" +pip install "$INPUT_COMMITIZEN_VERSION" "$INPUT_EXTRA_REQUIREMENTS" echo "Commitizen version:" cz version From 450b63f8e272b2914e3aeb7482dfa542bb99da59 Mon Sep 17 00:00:00 2001 From: Santiago Date: Thu, 24 Feb 2022 09:55:39 +0100 Subject: [PATCH 4/5] Update action.yml Co-authored-by: Flore de Lasteyrie <41300908+floredelasteyrie@users.noreply.github.com> --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 7932644..a66a623 100644 --- a/action.yml +++ b/action.yml @@ -57,4 +57,4 @@ inputs: commitizen_version: description: 'Specify the version to be used by commitizen' required: false - default: latest + default: 'latest' From 747b20d3e50b7d572b2467ff61717a00f80a4cc9 Mon Sep 17 00:00:00 2001 From: Santiago Date: Thu, 24 Feb 2022 09:56:06 +0100 Subject: [PATCH 5/5] Update entrypoint.sh Co-authored-by: Flore de Lasteyrie <41300908+floredelasteyrie@users.noreply.github.com> --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 1c77446..580d80b 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -24,7 +24,7 @@ echo "Repository: $REPOSITORY" echo "Actor: $GITHUB_ACTOR" echo "Installing requirements..." -pip install "$INPUT_COMMITIZEN_VERSION" "$INPUT_EXTRA_REQUIREMENTS" +pip install "$INPUT_COMMITIZEN_VERSION" $INPUT_EXTRA_REQUIREMENTS echo "Commitizen version:" cz version