Skip to content

Commit

Permalink
scripts: add script to measure percentage of commits with failed status
Browse files Browse the repository at this point in the history
This is to start measuring the test flakyness and see the numbers improving once we improve and deflake flaky tests

Fixes etcd-io#13167
  • Loading branch information
karuppiah7890 committed Jul 8, 2021
1 parent af9b5e7 commit d09f928
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions scripts/measure-test-flakyness.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/bash

set -e
set -o pipefail

if [[ -z ${GITHUB_TOKEN} ]]
then
echo "Please set the \$GITHUB_TOKEN environment variable for the script to work"
exit 1
fi

temp_dir=$(mktemp -d)

trap "{ rm -rf -- ${temp_dir}; }" EXIT

json_file="${temp_dir}/commit-and-check-data.json"

curl --fail --show-error --silent -H "Authorization: token ${GITHUB_TOKEN}" \
-X POST \
-d '{
"query": "query { repository(owner: \"etcd-io\", name: \"etcd\") { defaultBranchRef { target { ... on Commit { history(first: 100) { edges { node { ... on Commit { commitUrl statusCheckRollup { state } } } } } } } } } }"
}' \
https://api.github.com/graphql | jq . > "${json_file}"

failure_percentage=$(jq '.data.repository.defaultBranchRef.target.history.edges | reduce .[] as $item (0; if $item.node.statusCheckRollup.state == "FAILURE" then (. + 1) else . end)' "${json_file}")

echo "Commit status failure percentage is - ${failure_percentage} %"

0 comments on commit d09f928

Please sign in to comment.