prombench_start #533
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
repository_dispatch: | |
types: [prombench_start, prombench_restart, prombench_stop] | |
name: Prombench Workflow | |
env: | |
AUTH_FILE: ${{ secrets.TEST_INFRA_PROVIDER_AUTH }} | |
CLUSTER_NAME: test-infra | |
DOMAIN_NAME: prombench.prometheus.io | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GITHUB_ORG: prometheus | |
GITHUB_REPO: prometheus | |
GITHUB_STATUS_TARGET_URL: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} | |
LAST_COMMIT_SHA: ${{ github.event.client_payload.LAST_COMMIT_SHA }} | |
GKE_PROJECT_ID: macro-mile-203600 | |
PR_NUMBER: ${{ github.event.client_payload.PR_NUMBER }} | |
PROVIDER: gke | |
RELEASE: ${{ github.event.client_payload.RELEASE }} | |
ZONE: europe-west3-a | |
jobs: | |
benchmark_start: | |
name: Benchmark Start | |
if: github.event.action == 'prombench_start' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Update status to pending | |
run: >- | |
curl -i -X POST | |
-H "Authorization: Bearer $GITHUB_TOKEN" | |
-H "Content-Type: application/json" | |
--data '{"state":"pending", "context": "prombench-status-update-start", "target_url": "'$GITHUB_STATUS_TARGET_URL'"}' | |
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA" | |
- name: Run make deploy to start test | |
id: make_deploy | |
uses: docker://prominfra/prombench:master | |
with: | |
args: >- | |
until make all_nodes_deleted; do echo "waiting for nodepools to be deleted"; sleep 10; done; | |
make deploy; | |
- name: Update status to failure | |
if: failure() | |
run: >- | |
curl -i -X POST | |
-H "Authorization: Bearer $GITHUB_TOKEN" | |
-H "Content-Type: application/json" | |
--data '{"state":"failure", "context": "prombench-status-update-start", "target_url": "'$GITHUB_STATUS_TARGET_URL'"}' | |
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA" | |
- name: Update status to success | |
if: success() | |
run: >- | |
curl -i -X POST | |
-H "Authorization: Bearer $GITHUB_TOKEN" | |
-H "Content-Type: application/json" | |
--data '{"state":"success", "context": "prombench-status-update-start", "target_url": "'$GITHUB_STATUS_TARGET_URL'"}' | |
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA" | |
benchmark_cancel: | |
name: Benchmark Cancel | |
if: github.event.action == 'prombench_stop' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Update status to pending | |
run: >- | |
curl -i -X POST | |
-H "Authorization: Bearer $GITHUB_TOKEN" | |
-H "Content-Type: application/json" | |
--data '{"state":"pending", "context": "prombench-status-update-cancel", "target_url": "'$GITHUB_STATUS_TARGET_URL'"}' | |
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA" | |
- name: Run make clean to stop test | |
id: make_clean | |
uses: docker://prominfra/prombench:master | |
with: | |
args: >- | |
until make all_nodes_running; do echo "waiting for nodepools to be created"; sleep 10; done; | |
make clean; | |
- name: Update status to failure | |
if: failure() | |
run: >- | |
curl -i -X POST | |
-H "Authorization: Bearer $GITHUB_TOKEN" | |
-H "Content-Type: application/json" | |
--data '{"state":"failure", "context": "prombench-status-update-cancel", "target_url": "'$GITHUB_STATUS_TARGET_URL'"}' | |
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA" | |
- name: Update status to success | |
if: success() | |
run: >- | |
curl -i -X POST | |
-H "Authorization: Bearer $GITHUB_TOKEN" | |
-H "Content-Type: application/json" | |
--data '{"state":"success", "context": "prombench-status-update-cancel", "target_url": "'$GITHUB_STATUS_TARGET_URL'"}' | |
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA" | |
benchmark_restart: | |
name: Benchmark Restart | |
if: github.event.action == 'prombench_restart' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Update status to pending | |
run: >- | |
curl -i -X POST | |
-H "Authorization: Bearer $GITHUB_TOKEN" | |
-H "Content-Type: application/json" | |
--data '{"state":"pending", "context": "prombench-status-update-restart", "target_url": "'$GITHUB_STATUS_TARGET_URL'"}' | |
"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://prominfra/prombench:master | |
with: | |
args: >- | |
until make all_nodes_running; do echo "waiting for nodepools to be created"; sleep 10; done; | |
make clean; | |
until make all_nodes_deleted; do echo "waiting for nodepools to be deleted"; sleep 10; done; | |
make deploy; | |
- name: Update status to failure | |
if: failure() | |
run: >- | |
curl -i -X POST | |
-H "Authorization: Bearer $GITHUB_TOKEN" | |
-H "Content-Type: application/json" | |
--data '{"state":"failure", "context": "prombench-status-update-restart", "target_url": "'$GITHUB_STATUS_TARGET_URL'"}' | |
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA" | |
- name: Update status to success | |
if: success() | |
run: >- | |
curl -i -X POST | |
-H "Authorization: Bearer $GITHUB_TOKEN" | |
-H "Content-Type: application/json" | |
--data '{"state":"success", "context": "prombench-status-update-restart", "target_url": "'$GITHUB_STATUS_TARGET_URL'"}' | |
"https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA" |