Skip to content

Commit 48256a0

Browse files
fix: add codecov args
1 parent 0d0ab6c commit 48256a0

File tree

7 files changed

+160
-70
lines changed

7 files changed

+160
-70
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "codecov-circleci-orb",
3-
"version": "5.4.2",
3+
"version": "5.4.3",
44
"description": "Codecov CircleCI Orb",
55
"main": "index.js",
66
"devDependencies": {

src/commands/upload.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,9 +229,6 @@ steps:
229229
- run:
230230
name: (Codecov) Validate CLI
231231
command: <<include(dist/validate.sh)>>
232-
- run:
233-
name: (Codecov) Set CLI Arguments
234-
command: <<include(dist/set_args.sh)>>
235232
- run:
236233
name: (Codecov) Run CLI command
237234
command: <<include(dist/run_command.sh)>>

src/dist/run_command.sh

Lines changed: 127 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
#!/usr/bin/env bash
2+
23
source ./codecov_envs
34

5+
#!/usr/bin/env bash
6+
47
set +u
58
say() {
69
echo -e "$1"
@@ -46,32 +49,147 @@ r="\033[0;31m" # errors
4649
x="\033[0m"
4750
retry="--retry 5 --retry-delay 2"
4851

52+
53+
CODECOV_CLI_ARGS=()
54+
55+
CODECOV_CLI_ARGS+=( $(k_arg AUTO_LOAD_PARAMS_FROM) $(v_arg AUTO_LOAD_PARAMS_FROM))
56+
CODECOV_CLI_ARGS+=( $(k_arg ENTERPRISE_URL) $(v_arg ENTERPRISE_URL))
57+
if [ -n "$CODECOV_YML_PATH" ]
58+
then
59+
CODECOV_CLI_ARGS+=( "--codecov-yml-path" )
60+
CODECOV_CLI_ARGS+=( "$CODECOV_YML_PATH" )
61+
fi
62+
CODECOV_CLI_ARGS+=( $(write_bool_args CODECOV_DISABLE_TELEM) )
63+
CODECOV_CLI_ARGS+=( $(write_bool_args CODECOV_VERBOSE) )
64+
65+
CODECOV_ARGS=()
66+
if [ "$CODECOV_RUN_CMD" == "upload-coverage" ]; then
67+
68+
# Args for create commit
69+
CODECOV_ARGS+=( $(write_bool_args CODECOV_FAIL_ON_ERROR) )
70+
CODECOV_ARGS+=( $(k_arg GIT_SERVICE) $(v_arg GIT_SERVICE))
71+
CODECOV_ARGS+=( $(k_arg PARENT_SHA) $(v_arg PARENT_SHA))
72+
CODECOV_ARGS+=( $(k_arg PR) $(v_arg PR))
73+
CODECOV_ARGS+=( $(k_arg SHA) $(v_arg SHA))
74+
CODECOV_ARGS+=( $(k_arg SLUG) $(v_arg SLUG))
75+
76+
# Args for create report
77+
CODECOV_ARGS+=( $(k_arg CODE) $(v_arg CODE))
78+
79+
# Args for do upload
80+
CODECOV_ARGS+=( $(k_arg ENV) $(v_arg ENV))
81+
82+
OLDIFS=$IFS;IFS=,
83+
84+
CODECOV_ARGS+=( $(k_arg BRANCH) $(v_arg BRANCH))
85+
CODECOV_ARGS+=( $(k_arg BUILD) $(v_arg BUILD))
86+
CODECOV_ARGS+=( $(k_arg BUILD_URL) $(v_arg BUILD_URL))
87+
CODECOV_ARGS+=( $(k_arg DIR) $(v_arg DIR))
88+
CODECOV_ARGS+=( $(write_bool_args CODECOV_DISABLE_FILE_FIXES) )
89+
CODECOV_ARGS+=( $(write_bool_args CODECOV_DISABLE_SEARCH) )
90+
CODECOV_ARGS+=( $(write_bool_args CODECOV_DRY_RUN) )
91+
92+
if [ -n "$CODECOV_EXCLUDES" ];
93+
then
94+
for directory in $CODECOV_EXCLUDES; do
95+
CODECOV_ARGS+=( "--exclude" "$directory" )
96+
done
97+
fi
98+
99+
if [ -n "$CODECOV_FILES" ];
100+
then
101+
for file in $CODECOV_FILES; do
102+
CODECOV_ARGS+=( "--file" "$file" )
103+
done
104+
fi
105+
106+
if [ -n "$CODECOV_FLAGS" ];
107+
then
108+
for flag in $CODECOV_FLAGS; do
109+
CODECOV_ARGS+=( "--flag" "$flag" )
110+
done
111+
fi
112+
113+
CODECOV_ARGS+=( $(k_arg GCOV_ARGS) $(v_arg GCOV_ARGS))
114+
CODECOV_ARGS+=( $(k_arg GCOV_EXECUTABLE) $(v_arg GCOV_EXECUTABLE))
115+
CODECOV_ARGS+=( $(k_arg GCOV_IGNORE) $(v_arg GCOV_IGNORE))
116+
CODECOV_ARGS+=( $(k_arg GCOV_INCLUDE) $(v_arg GCOV_INCLUDE))
117+
CODECOV_ARGS+=( $(write_bool_args CODECOV_HANDLE_NO_REPORTS_FOUND) )
118+
CODECOV_ARGS+=( $(write_bool_args CODECOV_RECURSE_SUBMODULES) )
119+
CODECOV_ARGS+=( $(k_arg JOB_CODE) $(v_arg JOB_CODE))
120+
CODECOV_ARGS+=( $(write_bool_args CODECOV_LEGACY) )
121+
if [ -n "$CODECOV_NAME" ];
122+
then
123+
CODECOV_ARGS+=( "--name" "$CODECOV_NAME" )
124+
fi
125+
CODECOV_ARGS+=( $(k_arg NETWORK_FILTER) $(v_arg NETWORK_FILTER))
126+
CODECOV_ARGS+=( $(k_arg NETWORK_PREFIX) $(v_arg NETWORK_PREFIX))
127+
CODECOV_ARGS+=( $(k_arg NETWORK_ROOT_FOLDER) $(v_arg NETWORK_ROOT_FOLDER))
128+
129+
if [ -n "$CODECOV_PLUGINS" ];
130+
then
131+
for plugin in $CODECOV_PLUGINS; do
132+
CODECOV_ARGS+=( "--plugin" "$plugin" )
133+
done
134+
fi
135+
136+
CODECOV_ARGS+=( $(k_arg REPORT_TYPE) $(v_arg REPORT_TYPE))
137+
CODECOV_ARGS+=( $(k_arg SWIFT_PROJECT) $(v_arg SWIFT_PROJECT))
138+
139+
IFS=$OLDIFS
140+
elif [ "$CODECOV_RUN_CMD" == "empty-upload" ]; then
141+
142+
CODECOV_ARGS+=( $(k_arg BRANCH) $(v_arg BRANCH))
143+
CODECOV_ARGS+=( $(write_bool_args CODECOV_FAIL_ON_ERROR) )
144+
CODECOV_ARGS+=( $(write_bool_args CODECOV_FORCE) )
145+
CODECOV_ARGS+=( $(k_arg GIT_SERVICE) $(v_arg GIT_SERVICE))
146+
CODECOV_ARGS+=( $(k_arg PARENT_SHA) $(v_arg PARENT_SHA))
147+
CODECOV_ARGS+=( $(k_arg PR) $(v_arg PR))
148+
CODECOV_ARGS+=( $(k_arg SHA) $(v_arg SHA))
149+
CODECOV_ARGS+=( $(k_arg SLUG) $(v_arg SLUG))
150+
elif [ "$CODECOV_RUN_CMD" == "pr-base-picking" ]; then
151+
152+
CODECOV_ARGS+=( $(k_arg BASE_SHA) $(v_arg BASE_SHA))
153+
CODECOV_ARGS+=( $(k_arg PR) $(v_arg PR))
154+
CODECOV_ARGS+=( $(k_arg SLUG) $(v_arg SLUG))
155+
CODECOV_ARGS+=( $(k_arg SERVICE) $(v_arg SERVICE))
156+
elif [ "$CODECOV_RUN_CMD" == "send-notifications" ]; then
157+
158+
CODECOV_ARGS+=( $(k_arg SHA) $(v_arg SHA))
159+
CODECOV_ARGS+=( $(write_bool_args CODECOV_FAIL_ON_ERROR) )
160+
CODECOV_ARGS+=( $(k_arg GIT_SERVICE) $(v_arg GIT_SERVICE))
161+
CODECOV_ARGS+=( $(k_arg SLUG) $(v_arg SLUG))
162+
else
163+
exit_if_error "Invalid run command specified: $CODECOV_RUN_CMD"
164+
exit
165+
fi
166+
49167
unset NODE_OPTIONS
50168
# github.com/codecov/uploader/issues/475
51169

52170
if [ -n "$CODECOV_TOKEN_VAR" ];
53171
then
54-
token="$(eval echo \$$CODECOV_TOKEN_VAR)"
172+
token="$(eval echo \$$CODECOV_TOKEN_VAR)"
55173
else
56-
token="$(eval echo $CODECOV_TOKEN)"
174+
token="$(eval echo $CODECOV_TOKEN)"
57175
fi
58176
say "$g ->$x Token length: ${#token}"
59177
token_str=""
60178
token_arg=()
61179
if [ -n "$token" ];
62180
then
63-
token_str+=" -t <redacted>"
64-
token_arg+=( " -t " "$token")
181+
token_str+=" -t <redacted>"
182+
token_arg+=( " -t " "$token")
65183
fi
66184

67185
say "$g==>$x Running $CODECOV_RUN_CMD"
68186
say " $b$CODECOV_COMMAND $(echo "${CODECOV_CLI_ARGS[@]}") $CODECOV_RUN_CMD$token_str $(echo "${CODECOV_ARGS[@]}")$x"
69187
if ! $CODECOV_COMMAND \
70-
${CODECOV_CLI_ARGS[*]} \
71-
${CODECOV_RUN_CMD} \
72-
${token_arg[*]} \
73-
"${CODECOV_ARGS[@]}";
188+
${CODECOV_CLI_ARGS[*]} \
189+
${CODECOV_RUN_CMD} \
190+
${token_arg[*]} \
191+
"${CODECOV_ARGS[@]}";
74192
then
75-
exit_if_error "Failed to run $CODECOV_RUN_CMD"
193+
exit_if_error "Failed to run $CODECOV_RUN_CMD"
76194
fi
77195
rm ./codecov_envs

src/dist/set_args.sh

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,3 @@
1-
#!/usr/bin/env bash
2-
source ./codecov_envs
3-
4-
set +u
5-
say() {
6-
echo -e "$1"
7-
}
8-
9-
exit_if_error() {
10-
say "$r==> $1$x"
11-
if [ "$CODECOV_FAIL_ON_ERROR" = true ];
12-
then
13-
say "$r Exiting...$x"
14-
exit 1;
15-
fi
16-
}
17-
18-
lower() {
19-
echo $(echo $1 | sed 's/CODECOV//' | sed 's/_/-/g' | tr '[:upper:]' '[:lower:]')
20-
}
21-
22-
k_arg() {
23-
if [ -n "$(eval echo \$"CODECOV_$1")" ];
24-
then
25-
echo "--$(lower "$1")"
26-
fi
27-
}
28-
29-
v_arg() {
30-
if [ -n "$(eval echo \$"CODECOV_$1")" ];
31-
then
32-
echo "$(eval echo \$"CODECOV_$1")"
33-
fi
34-
}
35-
36-
write_bool_args() {
37-
if [ "$(eval echo \$$1)" = "true" ] || [ "$(eval echo \$$1)" = "1" ];
38-
then
39-
echo "-$(lower $1)"
40-
fi
41-
}
42-
43-
b="\033[0;36m" # variables/constants
44-
g="\033[0;32m" # info/debug
45-
r="\033[0;31m" # errors
46-
x="\033[0m"
47-
retry="--retry 5 --retry-delay 2"
481

492
CODECOV_CLI_ARGS=()
503

@@ -159,4 +112,3 @@ else
159112
exit_if_error "Invalid run command specified: $CODECOV_RUN_CMD"
160113
exit
161114
fi
162-
env | grep -io "CODECOV_.*=" | tr "=" " " | while read -r val; do echo "export $val=$(eval echo \"\$$val\")"; done > ./codecov_envs

src/dist/set_codecov_envs.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ export CODECOV_GCOV_IGNORE=
1515
export CODECOV_GCOV_INCLUDE=
1616
export CODECOV_PUBLIC_PGP_KEY=
1717
export CODECOV_SWIFT_PROJECT=
18-
export CODECOV_TOKEN=
1918
export CODECOV_WRAPPER_VERSION=
2019
export CODECOV_YML_PATH=
2120

src/package.py

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
def package():
1111
funcs = _get_funcs()
1212
_copy_all_files(funcs)
13+
_combine_set_args_and_run(funcs)
1314

1415
def _get_funcs():
1516
with open('src/scripts/scripts/set_funcs.sh', 'r') as f:
@@ -38,7 +39,7 @@ def _copy_all_files(funcs):
3839
os.chmod(new_file, 0o711)
3940

4041
# Update contents
41-
contents = [HEADER, funcs]
42+
contents = []
4243
codecov_vars_set = set()
4344
with open(new_file, 'r') as f:
4445
for line in f:
@@ -51,13 +52,14 @@ def _copy_all_files(funcs):
5152
with open(os.path.join(original_dir, script_path), 'r') as f:
5253
contents.append(f.read())
5354

54-
if filename != 'run_command.sh': # has the token, dont store the token
55+
if filename not in ['run_command.sh', 'set_args.sh']:
56+
contents.insert(0, HEADER)
57+
contents.insert(1, funcs)
5558
contents.append(FOOTER)
59+
contents = ''.join(contents).replace(BASH, "")
60+
contents = BASH + contents
5661
else:
57-
contents.append(CLEANUP)
58-
59-
contents = ''.join(contents).replace(BASH, "")
60-
contents = BASH + contents
62+
contents = ''.join(contents).replace(BASH, "")
6163

6264
if len(''.join(contents)) >= 8191:
6365
print(f'Due to Windows limitations, script {new_file} must be less than 8192 chars')
@@ -68,5 +70,27 @@ def _copy_all_files(funcs):
6870

6971
print(f'Copied {old_file} to {new_file} ({len(contents)} chars)')
7072

73+
def _combine_set_args_and_run(funcs):
74+
content = [BASH, HEADER, funcs]
75+
with open('src/dist/set_args.sh', 'r') as f:
76+
for line in f:
77+
content.append(line.strip())
78+
with open('src/dist/run_command.sh', 'r') as f:
79+
for line in f:
80+
content.append(line.strip())
81+
82+
content.append(CLEANUP)
83+
content = '\n'.join(content)
84+
85+
if len(content) >= 8191:
86+
print(f'Due to Windows limitations, script {new_file} must be less than 8192 chars')
87+
exit(1)
88+
89+
with open('src/dist/run_command.sh', 'w') as f:
90+
f.write(content)
91+
92+
print(f'Combined set_args.sh and run_command.sh into run_command.sh ({len(content)} chars)')
93+
94+
7195
if __name__=="__main__":
7296
package()

0 commit comments

Comments
 (0)