Skip to content

Commit 49002a3

Browse files
fix: add codecov args
1 parent 0d0ab6c commit 49002a3

File tree

7 files changed

+148
-61
lines changed

7 files changed

+148
-61
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: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/usr/bin/env bash
22
source ./codecov_envs
3+
#!/usr/bin/env bash
34

45
set +u
56
say() {
@@ -46,6 +47,120 @@ r="\033[0;31m" # errors
4647
x="\033[0m"
4748
retry="--retry 5 --retry-delay 2"
4849

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

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+
contents = [BASH, HEADER, funcs]
75+
with open('src/dist/set_args.sh', 'r') as f:
76+
for line in f:
77+
contents.append(line)
78+
with open('src/dist/run_command.sh', 'r') as f:
79+
for line in f:
80+
contents.append(line)
81+
82+
contents.append(CLEANUP)
83+
contents = ''.join(contents)
84+
85+
if len(contents) >= 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(contents)
91+
92+
print(f'Combined set_args.sh and run_command.sh into run_command.sh ({len(contents)} chars)')
93+
94+
7195
if __name__=="__main__":
7296
package()

0 commit comments

Comments
 (0)