Skip to content

Commit 78e4e8c

Browse files
Merge pull request #327 from stackql/feature/static-analysis-v1-0-3
static-analysis-improved
2 parents 9d7f9d7 + e9d417c commit 78e4e8c

File tree

3 files changed

+57
-29
lines changed

3 files changed

+57
-29
lines changed

.github/workflows/aot.yml

Lines changed: 34 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -96,44 +96,49 @@ jobs:
9696
go build -x -v \
9797
-o build/anysdk ./cmd/interrogate
9898
99-
- name: Parse tag
100-
id: parse_tag
101-
run: |
102-
if [ "${{ github.ref_type }}" = "tag" ]; then
103-
tag_obj="$(python3 stackql-core/cicd/python/tag_parse.py '${{ github.ref_name }}' --parse-registry-tag)"
104-
echo "tag_obj: $tag_obj"
105-
{
106-
echo "PARSED_TAG_IS_ROBOT=$(echo $tag_obj | jq -r '.is_robot')"
107-
echo "PARSED_TAG_IS_REGRESSION=$(echo $tag_obj | jq -r '.is_regression')"
108-
} | tee -a "$GITHUB_ENV"
109-
else
110-
{
111-
echo "IS_BRANCH=true"
112-
} >> $GITHUB_ENV
113-
fi
114-
11599
- name: Run any-sdk cli AOT provider analysis
116100
run: |
117101
rc='0'
118102
for sd in ./providers/src/*/ ; do
119-
echo ""
120-
subdir="$(realpath "${sd}")"
121-
providerID="$(basename "${subdir}")"
122-
echo "Processing provider '${providerID}' at subdirectory: '${subdir}'" 1>&2
123-
echo ""
124-
${{ github.workspace }}/stackql-any-sdk/build/anysdk aot ./providers "${subdir}/v00.00.00000/provider.yaml" -v
125-
echo ""
126-
if [ "$?" -ne "0" ]; then
127-
echo "AOT analysis failed for provider: '${providerID}'" 1>&2
128-
rc='1'
129-
else
130-
echo "AOT analysis succeeded for provider: '${providerID}'" 1>&2
131-
fi
103+
echo ""
104+
subdir="$(realpath "${sd}")"
105+
providerID="$(basename "${subdir}")"
106+
echo "Processing provider '${providerID}' at subdirectory: '${subdir}'" 1>&2
107+
echo ""
108+
./scripts/cicd/shell/aot-analysis/01-aot-analysis-compact.sh ${{ github.workspace }}/stackql-any-sdk/build/anysdk "${providerID}" "${subdir}/v00.00.00000/provider.yaml" &
109+
echo ""
132110
done
133111
echo ""
112+
echo "All tasks initiated. Waiting for them to complete..."
113+
# wait for all background jobs to finish
114+
wait
115+
echo ""
116+
echo "All tasks completed."
117+
echo ""
118+
for logFile in ./test/log/*.log ; do
119+
echo ""
120+
echo "contents of ${logFile}:"
121+
echo ""
122+
cat "${logFile}"
123+
echo ""
124+
done
125+
for rcf in ./test/log/rc_* ; do
126+
thisrc="$(cat "${rcf}")"
127+
if [ "$thisrc" != "0" ]; then
128+
echo "AOT analysis failure detected for: '${rcf}'" 1>&2
129+
rc='1'
130+
fi
131+
done
134132
if [ "$rc" -ne "0" ]; then
135133
echo "overall anysdk CLI AOT provider analysis failed" 1>&2
136134
exit 1
137135
else
138136
echo "overall anysdk CLI AOT provider analysis succeeded" 1>&2
139137
fi
138+
139+
- name: Upload AOT analysis logs
140+
uses: actions/[email protected]
141+
if: success()
142+
with:
143+
name: aot_analysis_logs
144+
path: ./test/log
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/usr/bin/env bash
2+
3+
CUR_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
4+
5+
REPOSITORY_ROOT="$(realpath "${CUR_DIR}/../../../..")"
6+
7+
anySdkExe="${1}"
8+
9+
providerID="${2}"
10+
11+
providerRootFile="${3}"
12+
13+
logDir="${REPOSITORY_ROOT}/test/log"
14+
15+
registryDir="${REPOSITORY_ROOT}/providers"
16+
17+
${anySdkExe} aot "${registryDir}" "${providerRootFile}" -v > "${logDir}/aot_${providerID}.log" 2>&1
18+
19+
rc="$?"
20+
21+
echo "${rc}" > "${logDir}/rc_aot_${providerID}.txt"

test/log/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*
2+
!.gitignore

0 commit comments

Comments
 (0)