mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #13175 from karuppiah7890/issue-13167-measure-flakyness
scripts: add script to measure percentage of commits with failed status
This commit is contained in:
commit
8d8271f6d1
15
.github/workflows/measure-test-flakiness.yaml
vendored
Normal file
15
.github/workflows/measure-test-flakiness.yaml
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
name: Measure Test Flakiness
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * 0"
|
||||
|
||||
jobs:
|
||||
measure-test-flakiness:
|
||||
name: Measure Test Flakiness
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Run script to measure test flakiness
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: "./scripts/measure-test-flakiness.sh"
|
27
scripts/measure-test-flakiness.sh
Executable file
27
scripts/measure-test-flakiness.sh
Executable file
@ -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} %"
|
Loading…
x
Reference in New Issue
Block a user