|
1 | 1 | #!/bin/bash |
2 | 2 |
|
3 | | -if [ $INPUT_DRY_RUN ]; then INPUT_DRY_RUN='--dry-run'; else INPUT_DRY_RUN=''; fi |
4 | | -if [ $INPUT_CHANGELOG ]; then INPUT_CHANGELOG='--changelog'; else INPUT_CHANGELOG=''; fi |
5 | | -if [ $INPUT_PRERELEASE ]; then INPUT_PRERELEASE="--prerelease $INPUT_PRERELEASE"; else INPUT_PRERELEASE=''; fi |
6 | | -if [ "$INPUT_COMMIT" == 'false' ]; then INPUT_COMMIT='--files-only'; else INPUT_COMMIT=''; fi |
7 | | -if [ "$INPUT_COMMITIZEN_VERSION" == 'latest' ]; then INPUT_COMMITIZEN_VERSION="commitizen"; else INPUT_COMMITIZEN_VERSION="commitizen==$INPUT_COMMITIZEN_VERSION"; fi |
8 | | -if [ -n "$INPUT_NO_RAISE" ]; then INPUT_NO_RAISE="--no-raise $INPUT_NO_RAISE"; else INPUT_NO_RAISE=''; fi |
9 | | - |
10 | | -CURRENT_BRANCH="$(git branch --show-current)" |
11 | | -INPUT_BRANCH=${INPUT_BRANCH:-$CURRENT_BRANCH} |
12 | | -INPUT_EXTRA_REQUIREMENTS=${INPUT_EXTRA_REQUIREMENTS:-''} |
13 | | -REPOSITORY=${INPUT_REPOSITORY:-$GITHUB_REPOSITORY} |
14 | | -# : "${INPUT_CHANGELOG:=true}" ignored for now, let's check that it works |
15 | | - |
16 | 3 | set -e |
17 | 4 |
|
18 | | -[ -z "${INPUT_GITHUB_TOKEN}" ] && { |
| 5 | +if [[ -z $INPUT_GITHUB_TOKEN ]];then |
19 | 6 | echo 'Missing input "github_token: ${{ secrets.GITHUB_TOKEN }}".' |
20 | 7 | exit 1 |
21 | | -} |
22 | | - |
23 | | -echo "Repository: $REPOSITORY" |
24 | | -echo "Actor: $GITHUB_ACTOR" |
25 | | - |
26 | | -echo "Installing requirements..." |
27 | | -pip install "$INPUT_COMMITIZEN_VERSION" $INPUT_EXTRA_REQUIREMENTS |
28 | | -echo "Commitizen version:" |
29 | | -cz version |
| 8 | +fi |
30 | 9 |
|
31 | 10 | echo "Configuring Git username, email, and pull behavior..." |
32 | | -git config --local user.name "$INPUT_GIT_NAME" |
33 | | -git config --local user.email "$INPUT_GIT_EMAIL" |
| 11 | +git config --local user.name "${INPUT_GIT_NAME}" |
| 12 | +git config --local user.email "${INPUT_GIT_EMAIL}" |
34 | 13 | git config --local pull.rebase true |
35 | 14 | echo "Git name: $(git config --get user.name)" |
36 | 15 | echo "Git email: $(git config --get user.email)" |
37 | 16 |
|
38 | | -echo "Running cz: $INPUT_DRY_RUN $INPUT_COMMIT $INPUT_CHANGELOG $INPUT_PRERELEASE" |
39 | | - |
40 | | -if [ $INPUT_CHANGELOG_INCREMENT_FILENAME ]; then |
41 | | - cz $INPUT_NO_RAISE bump --yes --changelog-to-stdout $INPUT_COMMIT $INPUT_DRY_RUN $INPUT_CHANGELOG $INPUT_PRERELEASE >$INPUT_CHANGELOG_INCREMENT_FILENAME |
| 17 | +PIP_CMD=('pip' 'install') |
| 18 | +if [[ $INPUT_COMMITIZEN_VERSION == 'latest' ]]; then |
| 19 | + PIP_CMD+=('commitizen') |
42 | 20 | else |
43 | | - cz $INPUT_NO_RAISE bump --yes $INPUT_DRY_RUN$INPUT_COMMIT$INPUT_CHANGELOG$INPUT_PRERELEASE |
| 21 | + PIP_CMD+=("commitizen==${INPUT_COMMITIZEN_VERSION}") |
44 | 22 | fi |
| 23 | +IFS=" " read -r -a INPUT_EXTRA_REQUIREMENTS <<<"$INPUT_EXTRA_REQUIREMENTS" |
| 24 | +PIP_CMD+=("${INPUT_EXTRA_REQUIREMENTS[@]}") |
| 25 | +echo "${PIP_CMD[@]}" |
| 26 | +"${PIP_CMD[@]}" |
| 27 | +echo "Commitizen version: $(cz version)" |
45 | 28 |
|
46 | | -REV=$(cz version --project) |
47 | | -export REV |
| 29 | +CZ_CMD=('cz') |
| 30 | +if [[ $INPUT_NO_RAISE ]]; then |
| 31 | + CZ_CMD+=('--no-raise' "$INPUT_NO_RAISE") |
| 32 | +fi |
| 33 | +CZ_CMD+=('bump' '--yes') |
| 34 | +if [[ $INPUT_DRY_RUN == 'true' ]]; then |
| 35 | + CZ_CMD+=('--dry-run') |
| 36 | +fi |
| 37 | +if [[ $INPUT_CHANGELOG == 'true' ]]; then |
| 38 | + CZ_CMD+=('--changelog') |
| 39 | +fi |
| 40 | +if [[ $INPUT_PRERELEASE ]]; then |
| 41 | + CZ_CMD+=('--prerelease' "$INPUT_PRERELEASE") |
| 42 | +fi |
| 43 | +if [[ $INPUT_COMMIT == 'false' ]]; then |
| 44 | + CZ_CMD+=('--files-only') |
| 45 | +fi |
| 46 | +if [[ $INPUT_CHANGELOG_INCREMENT_FILENAME ]]; then |
| 47 | + CZ_CMD+=('--changelog-to-stdout' ">$INPUT_CHANGELOG_INCREMENT_FILENAME") |
| 48 | +fi |
| 49 | +echo "${CZ_CMD[@]}" |
| 50 | +"${CZ_CMD[@]}" |
| 51 | + |
| 52 | +REV="$(cz version --project)" |
| 53 | +echo "REVISION=${REV}" >>"$GITHUB_ENV" |
| 54 | +echo "::set-output name=version::${REV}" |
48 | 55 |
|
49 | | -echo "REVISION=$REV" >>$GITHUB_ENV |
| 56 | +CURRENT_BRANCH="$(git branch --show-current)" |
| 57 | +INPUT_BRANCH="${INPUT_BRANCH:-$CURRENT_BRANCH}" |
| 58 | +INPUT_REPOSITORY="${INPUT_REPOSITORY:-$GITHUB_REPOSITORY}" |
50 | 59 |
|
51 | | -echo "::set-output name=version::$REV" |
| 60 | +echo "Repository: ${INPUT_REPOSITORY}" |
| 61 | +echo "Actor: ${GITHUB_ACTOR}" |
52 | 62 |
|
53 | | -if ["$INPUT_PUSH" == "true"]; then |
| 63 | +if [[ $INPUT_PUSH == 'true' ]]; then |
54 | 64 | echo "Pushing to branch..." |
55 | | - remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${REPOSITORY}.git" |
56 | | - git pull ${remote_repo}${INPUT_BRANCH} |
57 | | - git push "${remote_repo}"HEAD:${INPUT_BRANCH} --tags |
| 65 | + REMOTE_REPO="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${INPUT_REPOSITORY}.git" |
| 66 | + git pull "$REMOTE_REPO""$INPUT_BRANCH" |
| 67 | + git push "$REMOTE_REPO""HEAD:${INPUT_BRANCH}" --tags |
58 | 68 | else |
59 | 69 | echo "Not pushing" |
60 | 70 | fi |
|
0 commit comments