1
1
#! /bin/bash
2
2
3
+ set -e
4
+
5
+
3
6
# 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=" "
10
13
11
14
ExtractPRNumber () {
12
15
local commit_msg=" $1 "
@@ -24,6 +27,8 @@ FetchCommitHash() {
24
27
# Normalize the repository URL for consistent usage
25
28
GetNormalizedRepoURL () {
26
29
local circle_repo_url=" $1 "
30
+
31
+
27
32
if [[ $circle_repo_url == https://* ]]; then
28
33
# If it's already an HTTPS URL, just ensure it doesn't have the .git suffix
29
34
echo " ${circle_repo_url% .git} "
@@ -36,6 +41,7 @@ GetNormalizedRepoURL() {
36
41
37
42
ExtractGitHubOrgAndRepo () {
38
43
local repo_url=" $1 "
44
+
39
45
if [[ $repo_url != * github.com* ]]; then
40
46
echo " Error: Not a GitHub URL." >&2
41
47
exit 1
@@ -86,53 +92,40 @@ CreateCommitLink() {
86
92
87
93
ParseCommitInfo () {
88
94
if [ " $ORB_TEST_ENV " = " bats-core" ]; then
89
- REPOSITORY_URL= " $TEST_REPO_URL "
95
+ PARSE_COMMIT_REPO_URL= $( GetNormalizedRepoURL " $TEST_REPO_URL " )
90
96
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 " )
93
98
fi
94
99
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)
100
102
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 " )
104
105
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 " )
119
107
120
108
echo " $final_commit_message "
121
109
}
122
110
123
111
124
112
ORB_TEST_ENV=" bats-core"
125
113
if [ " ${0#* " $ORB_TEST_ENV " } " = " $0 " ]; then
114
+
115
+ cd " $SOURCE_REPO_DIRECTORY " || { echo " Changing directory failed" ; exit 1; }
116
+
126
117
final_commit_message=" $( ParseCommitInfo) "
127
118
128
119
# 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 "
134
127
echo " final_commit_message: $final_commit_message "
135
128
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 "
138
131
fi
0 commit comments