forked from Ivasoft/mattermost-mobile
* ci(MM-63199): code coverage tracking * try to download existing coverage file * read coverage * add token * use github.token instead * passing github token * github_token passing from workflow * remove download * re-add download * wrong param * try download all artifacts * add run-id so to retrieve with download later * remove read coverage temp * use run-id to download * put files into current-coverage * using last run id * temporary comment * can retrieve last run id? * remove hard-coding * echo into github_env vs export * comparing new and old * comparison improvement * post to github * fix coverage text * refactor to main from current-coverage * formatting changes * fix missing content * small tweaking * showing the Warning to make sure * formatting * remove + * checking to see if the error shows via echo * revert the change to error * separate to a new file * comment the actual test for now * prep node deps * only run certain things on main * trying cache-hit * real trying cache-hit * testing to make sure cache-run-id runs * save-always true * save-always deprecated * let's try different strategy * add key * restore-key adding a - * only perform on `main` * only run on main or if its a PR * coverage_threshold * remove comments * add total * removing unneeded comments * calculate total * run test in `release-*` only * making sure that only PR will run * only do more steps if upload-coverage successful * trying thollander/actions-comment-pull-request * using diff way to comment. * comment on how things work * testing to trigger warning and see if comment is updated vs new comment * omit echo messages * see if giving github token would work. * wrong use of param * try without github token * adding a very simple change to see where it lands * using cache hit instead. * creating the cache again. how did i lose it? * revert back * cache-hit might be off * debug * debug with failing cache restoration * check for run-id.txt instead * all into action * missing " * remove unneeded actions * change threshold to 0.5 * relative time * skeptical about date formatting * revert back to the threshold trigger * below 80% total coverage threshold * only show one error/warning at time. * testing if the coverage drop below 80 * debug output * add Reset Test Coverage label use * try using contains vs direct comparsion * remove the label checker * temp change * ooops * revert back * let's post before exiting * consistency * total coverage threshold reset to 80%
38 lines
1.0 KiB
Bash
Executable File
38 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e # Exit on any error
|
|
|
|
# Check if an argument is provided
|
|
if [ -z "$1" ]; then
|
|
echo "❌ Error: No coverage file provided."
|
|
echo "Usage: $0 <coverage-summary.json>"
|
|
exit 1
|
|
fi
|
|
|
|
COVERAGE_FILE="$1"
|
|
|
|
# Check if the coverage file exists
|
|
if [ ! -f "$COVERAGE_FILE" ]; then
|
|
echo "❌ Error: Coverage summary file not found: $COVERAGE_FILE"
|
|
exit 1
|
|
fi
|
|
|
|
# Extract coverage values from JSON
|
|
BRANCHES=$(jq '.total.branches.pct' $COVERAGE_FILE)
|
|
FUNCTIONS=$(jq '.total.functions.pct' $COVERAGE_FILE)
|
|
LINES=$(jq '.total.lines.pct' $COVERAGE_FILE)
|
|
STATEMENTS=$(jq '.total.statements.pct' $COVERAGE_FILE)
|
|
|
|
# Print extracted values
|
|
echo "📊 Extracted Coverage Values:"
|
|
echo " - Branches: $BRANCHES%"
|
|
echo " - Functions: $FUNCTIONS%"
|
|
echo " - Lines: $LINES%"
|
|
echo " - Statements: $STATEMENTS%"
|
|
|
|
# Export values for GitHub Actions (if needed)
|
|
echo "BRANCHES=$BRANCHES" >> $GITHUB_ENV
|
|
echo "FUNCTIONS=$FUNCTIONS" >> $GITHUB_ENV
|
|
echo "LINES=$LINES" >> $GITHUB_ENV
|
|
echo "STATEMENTS=$STATEMENTS" >> $GITHUB_ENV
|