|
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