11#! /bin/bash
22
3+ set -e
4+
5+
36# Global variable declarations
4- COMMIT_MESSAGE =" "
5- COMMIT_HASH =" "
6- REPO_URL =" "
7- REPO_NAME =" "
8- PR_NUMBER =" "
9- final_commit_message=" "
7+ declare -g PARSE_COMMIT_COMMIT_MESSAGE =" "
8+ declare -g PARSE_COMMIT_COMMIT_HASH =" "
9+ declare -g PARSE_COMMIT_REPO_URL =" "
10+ declare -g PARSE_COMMIT_REPO_NAME =" "
11+ declare -g PARSE_COMMIT_PR_NUMBER =" "
12+ declare -g final_commit_message=" "
1013
1114ExtractPRNumber () {
1215 local commit_msg=" $1 "
@@ -24,6 +27,8 @@ FetchCommitHash() {
2427# Normalize the repository URL for consistent usage
2528GetNormalizedRepoURL () {
2629 local circle_repo_url=" $1 "
30+
31+
2732 if [[ $circle_repo_url == https://* ]]; then
2833 # If it's already an HTTPS URL, just ensure it doesn't have the .git suffix
2934 echo " ${circle_repo_url% .git} "
@@ -36,6 +41,7 @@ GetNormalizedRepoURL() {
3641
3742ExtractGitHubOrgAndRepo () {
3843 local repo_url=" $1 "
44+
3945 if [[ $repo_url != * github.com* ]]; then
4046 echo " Error: Not a GitHub URL." >&2
4147 exit 1
@@ -86,53 +92,40 @@ CreateCommitLink() {
8692
8793ParseCommitInfo () {
8894 if [ " $ORB_TEST_ENV " = " bats-core" ]; then
89- REPOSITORY_URL= " $TEST_REPO_URL "
95+ PARSE_COMMIT_REPO_URL= $( GetNormalizedRepoURL " $TEST_REPO_URL " )
9096 else
91- cd " $SOURCE_REPO_DIRECTORY " || { echo " Changing directory failed" ; exit 1; }
92- REPOSITORY_URL=" $CIRCLE_REPOSITORY_URL "
97+ PARSE_COMMIT_REPO_URL=$( GetNormalizedRepoURL " $CIRCLE_REPOSITORY_URL " )
9398 fi
9499
95- # Debug logs
96- # >&2 echo "DEBUG: REPOSITORY_URL = $REPOSITORY_URL"
97-
98- COMMIT_MESSAGE=$( FetchCommitMessage)
99- COMMIT_HASH=$( FetchCommitHash)
100+ PARSE_COMMIT_COMMIT_MESSAGE=$( FetchCommitMessage)
101+ PARSE_COMMIT_COMMIT_HASH=$( FetchCommitHash)
100102
101- # Debug logs
102- # >&2 echo "DEBUG: COMMIT_MESSAGE = $COMMIT_MESSAGE"
103- # >&2 echo "DEBUG: COMMIT_HASH = $COMMIT_HASH"
103+ read -r ORG_NAME PARSE_COMMIT_REPO_NAME <<< " $(ExtractGitHubOrgAndRepo " $PARSE_COMMIT_REPO_URL " )"
104+ PARSE_COMMIT_PR_NUMBER=$( ExtractPRNumber " $PARSE_COMMIT_COMMIT_MESSAGE " )
104105
105- REPO_URL=$( GetNormalizedRepoURL " $REPOSITORY_URL " )
106-
107- # Debug logs
108- # >&2 echo "DEBUG: REPO_URL = $REPO_URL"
109-
110- read -r ORG_NAME REPO_NAME <<< " $(ExtractGitHubOrgAndRepo " $REPO_URL " )"
111- PR_NUMBER=$( ExtractPRNumber " $COMMIT_MESSAGE " )
112-
113- # # Debug logs
114- # >&2 echo "DEBUG: ORG_NAME = $ORG_NAME"
115- # >&2 echo "DEBUG: REPO_NAME = $REPO_NAME"
116- # >&2 echo "DEBUG: PR_NUMBER = $PR_NUMBER"
117-
118- final_commit_message=$( ConstructCommitMessage " $ORG_NAME " " $REPO_NAME " " $COMMIT_MESSAGE " " $PR_NUMBER " " $COMMIT_HASH " )
106+ final_commit_message=$( ConstructCommitMessage " $ORG_NAME " " $PARSE_COMMIT_REPO_NAME " " $PARSE_COMMIT_COMMIT_MESSAGE " " $PARSE_COMMIT_PR_NUMBER " " $PARSE_COMMIT_COMMIT_HASH " )
119107
120108 echo " $final_commit_message "
121109}
122110
123111
124112ORB_TEST_ENV=" bats-core"
125113if [ " ${0#* " $ORB_TEST_ENV " } " = " $0 " ]; then
114+
115+ cd " $SOURCE_REPO_DIRECTORY " || { echo " Changing directory failed" ; exit 1; }
116+
126117 final_commit_message=" $( ParseCommitInfo) "
127118
128119 # Logging statements to inspect variables
129- echo " COMMIT_MESSAGE: $COMMIT_MESSAGE "
130- echo " COMMIT_HASH: $COMMIT_HASH "
131- echo " REPO_URL: $REPO_URL "
132- echo " REPO_NAME: $REPO_NAME "
133- echo " PR_NUMBER: $PR_NUMBER "
120+ echo " CIRCLE_REPOSITORY_URL: $CIRCLE_REPOSITORY_URL "
121+ echo " SOURCE_REPO_DIRECTORY: $SOURCE_REPO_DIRECTORY "
122+ echo " PARSE_COMMIT_COMMIT_MESSAGE: $PARSE_COMMIT_COMMIT_MESSAGE "
123+ echo " PARSE_COMMIT_COMMIT_HASH: $PARSE_COMMIT_COMMIT_HASH "
124+ echo " PARSE_COMMIT_REPO_URL: $PARSE_COMMIT_REPO_URL "
125+ echo " PARSE_COMMIT_REPO_NAME: $PARSE_COMMIT_REPO_NAME "
126+ echo " PARSE_COMMIT_PR_NUMBER: $PARSE_COMMIT_PR_NUMBER "
134127 echo " final_commit_message: $final_commit_message "
135128
136- export FINAL_COMMIT_MESSAGE =$final_commit_message
137- echo " export FINAL_COMMIT_MESSAGE ='$final_commit_message '" >> " $BASH_ENV "
129+ export FINAL_PARSE_COMMIT_COMMIT_MESSAGE =$final_commit_message
130+ echo " export FINAL_PARSE_COMMIT_COMMIT_MESSAGE ='$final_commit_message '" >> " $BASH_ENV "
138131fi
0 commit comments