Add Github Actions workflow to run Prombench (#6703)
* Adding prombench github actions workflow. Signed-off-by: Hrishikesh Barman <plain.hrishikeshbman@gmail.com>
This commit is contained in:
parent
aa61e392b2
commit
3476555d31
|
@ -0,0 +1,172 @@
|
||||||
|
on: repository_dispatch
|
||||||
|
name: Prombench Workflow
|
||||||
|
jobs:
|
||||||
|
benchmark_start:
|
||||||
|
name: Benchmark Start
|
||||||
|
if: github.event.action == 'prombench_start'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Update status to pending
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
LAST_COMMIT_SHA: ${{ github.event.client_payload.LAST_COMMIT_SHA }}
|
||||||
|
run: >-
|
||||||
|
curl -i -X POST
|
||||||
|
-H "Authorization: Bearer $GITHUB_TOKEN"
|
||||||
|
-H "Content-Type: application/json"
|
||||||
|
--data '{"state":"pending", "context": "prombench-status-update", "target_url": "https://github.com/'$GITHUB_REPOSITORY'/actions"}'
|
||||||
|
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA"
|
||||||
|
- name: Run make deploy to start test
|
||||||
|
id: make_deploy
|
||||||
|
uses: docker://prombench/prombench:2.0.2
|
||||||
|
env:
|
||||||
|
AUTH_FILE: ${{ secrets.PROMBENCH_GKE_AUTH }}
|
||||||
|
PROJECT_ID: macro-mile-203600
|
||||||
|
CLUSTER_NAME: prombench
|
||||||
|
ZONE: europe-west3-a
|
||||||
|
DOMAIN_NAME: prombench.prometheus.io
|
||||||
|
TEST_INFRA_REPO: https://github.com/prometheus/prombench.git
|
||||||
|
GITHUB_ORG: prometheus
|
||||||
|
GITHUB_REPO: prometheus
|
||||||
|
PR_NUMBER: ${{ github.event.client_payload.PR_NUMBER }}
|
||||||
|
RELEASE: ${{ github.event.client_payload.RELEASE }}
|
||||||
|
with:
|
||||||
|
args: >-
|
||||||
|
until make all_nodepools_deleted; do echo "waiting for nodepools to be deleted"; sleep 10; done;
|
||||||
|
make deploy;
|
||||||
|
- name: Update status to failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
LAST_COMMIT_SHA: ${{ github.event.client_payload.LAST_COMMIT_SHA }}
|
||||||
|
run: >-
|
||||||
|
curl -i -X POST
|
||||||
|
-H "Authorization: Bearer $GITHUB_TOKEN"
|
||||||
|
-H "Content-Type: application/json"
|
||||||
|
--data '{"state":"failure", "context": "prombench-status-update", "target_url": "https://github.com/'$GITHUB_REPOSITORY'/actions"}'
|
||||||
|
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA"
|
||||||
|
- name: Update status to success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
LAST_COMMIT_SHA: ${{ github.event.client_payload.LAST_COMMIT_SHA }}
|
||||||
|
run: >-
|
||||||
|
curl -i -X POST
|
||||||
|
-H "Authorization: Bearer $GITHUB_TOKEN"
|
||||||
|
-H "Content-Type: application/json"
|
||||||
|
--data '{"state":"success", "context": "prombench-status-update", "target_url": "https://github.com/'$GITHUB_REPOSITORY'/actions"}'
|
||||||
|
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA"
|
||||||
|
#############################
|
||||||
|
# Jobs for stopping benchmark
|
||||||
|
#############################
|
||||||
|
benchmark_cancel:
|
||||||
|
name: Benchmark Cancel
|
||||||
|
if: github.event.action == 'prombench_stop'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Update status to pending
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
LAST_COMMIT_SHA: ${{ github.event.client_payload.LAST_COMMIT_SHA }}
|
||||||
|
run: >-
|
||||||
|
curl -i -X POST
|
||||||
|
-H "Authorization: Bearer $GITHUB_TOKEN"
|
||||||
|
-H "Content-Type: application/json"
|
||||||
|
--data '{"state":"pending", "context": "prombench-status-update", "target_url": "https://github.com/'$GITHUB_REPOSITORY'/actions"}'
|
||||||
|
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA"
|
||||||
|
- name: Run make clean to stop test
|
||||||
|
id: make_clean
|
||||||
|
uses: docker://prombench/prombench:2.0.2
|
||||||
|
env:
|
||||||
|
AUTH_FILE: ${{ secrets.PROMBENCH_GKE_AUTH }}
|
||||||
|
PROJECT_ID: macro-mile-203600
|
||||||
|
CLUSTER_NAME: prombench
|
||||||
|
ZONE: europe-west3-a
|
||||||
|
TEST_INFRA_REPO: https://github.com/prometheus/prombench.git
|
||||||
|
PR_NUMBER: ${{ github.event.client_payload.PR_NUMBER }}
|
||||||
|
with:
|
||||||
|
args: >-
|
||||||
|
until make all_nodepools_running; do echo "waiting for nodepools to be created"; sleep 10; done;
|
||||||
|
make clean;
|
||||||
|
- name: Update status to failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
LAST_COMMIT_SHA: ${{ github.event.client_payload.LAST_COMMIT_SHA }}
|
||||||
|
run: >-
|
||||||
|
curl -i -X POST
|
||||||
|
-H "Authorization: Bearer $GITHUB_TOKEN"
|
||||||
|
-H "Content-Type: application/json"
|
||||||
|
--data '{"state":"failure", "context": "prombench-status-update", "target_url": "https://github.com/'$GITHUB_REPOSITORY'/actions"}'
|
||||||
|
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA"
|
||||||
|
- name: Update status to success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
LAST_COMMIT_SHA: ${{ github.event.client_payload.LAST_COMMIT_SHA }}
|
||||||
|
run: >-
|
||||||
|
curl -i -X POST
|
||||||
|
-H "Authorization: Bearer $GITHUB_TOKEN"
|
||||||
|
-H "Content-Type: application/json"
|
||||||
|
--data '{"state":"success", "context": "prombench-status-update", "target_url": "https://github.com/'$GITHUB_REPOSITORY'/actions"}'
|
||||||
|
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA"
|
||||||
|
###############################
|
||||||
|
# Jobs for restarting benchmark
|
||||||
|
###############################
|
||||||
|
benchmark_restart:
|
||||||
|
name: Benchmark Restart
|
||||||
|
if: github.event.action == 'prombench_restart'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Update status to pending
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
LAST_COMMIT_SHA: ${{ github.event.client_payload.LAST_COMMIT_SHA }}
|
||||||
|
run: >-
|
||||||
|
curl -i -X POST
|
||||||
|
-H "Authorization: Bearer $GITHUB_TOKEN"
|
||||||
|
-H "Content-Type: application/json"
|
||||||
|
--data '{"state":"pending", "context": "prombench-status-update", "target_url": "https://github.com/'$GITHUB_REPOSITORY'/actions"}'
|
||||||
|
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA"
|
||||||
|
- name: Run make clean then make deploy to restart test
|
||||||
|
id: make_restart
|
||||||
|
uses: docker://prombench/prombench:2.0.2
|
||||||
|
env:
|
||||||
|
AUTH_FILE: ${{ secrets.PROMBENCH_GKE_AUTH }}
|
||||||
|
PROJECT_ID: macro-mile-203600
|
||||||
|
CLUSTER_NAME: prombench
|
||||||
|
ZONE: europe-west3-a
|
||||||
|
DOMAIN_NAME: prombench.prometheus.io
|
||||||
|
TEST_INFRA_REPO: https://github.com/prometheus/prombench.git
|
||||||
|
GITHUB_ORG: prometheus
|
||||||
|
GITHUB_REPO: prometheus
|
||||||
|
PR_NUMBER: ${{ github.event.client_payload.PR_NUMBER }}
|
||||||
|
RELEASE: ${{ github.event.client_payload.RELEASE }}
|
||||||
|
with:
|
||||||
|
args: >-
|
||||||
|
until make all_nodepools_running; do echo "waiting for nodepools to be created"; sleep 10; done;
|
||||||
|
make clean;
|
||||||
|
until make all_nodepools_deleted; do echo "waiting for nodepools to be deleted"; sleep 10; done;
|
||||||
|
make deploy;
|
||||||
|
- name: Update status to failure
|
||||||
|
if: failure()
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
LAST_COMMIT_SHA: ${{ github.event.client_payload.LAST_COMMIT_SHA }}
|
||||||
|
run: >-
|
||||||
|
curl -i -X POST
|
||||||
|
-H "Authorization: Bearer $GITHUB_TOKEN"
|
||||||
|
-H "Content-Type: application/json"
|
||||||
|
--data '{"state":"failure", "context": "prombench-status-update", "target_url": "https://github.com/'$GITHUB_REPOSITORY'/actions"}'
|
||||||
|
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA"
|
||||||
|
- name: Update status to success
|
||||||
|
if: success()
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
LAST_COMMIT_SHA: ${{ github.event.client_payload.LAST_COMMIT_SHA }}
|
||||||
|
run: >-
|
||||||
|
curl -i -X POST
|
||||||
|
-H "Authorization: Bearer $GITHUB_TOKEN"
|
||||||
|
-H "Content-Type: application/json"
|
||||||
|
--data '{"state":"success", "context": "prombench-status-update", "target_url": "https://github.com/'$GITHUB_REPOSITORY'/actions"}'
|
||||||
|
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA"
|
Loading…
Reference in New Issue