on: repository_dispatch: types: [funcbench_start] name: Funcbench Workflow jobs: run_funcbench: name: Running funcbench if: github.event.action == 'funcbench_start' runs-on: ubuntu-latest env: AUTH_FILE: ${{ secrets.TEST_INFRA_PROVIDER_AUTH }} BRANCH: ${{ github.event.client_payload.BRANCH }} BENCH_FUNC_REGEX: ${{ github.event.client_payload.BENCH_FUNC_REGEX }} PACKAGE_PATH: ${{ github.event.client_payload.PACKAGE_PATH }} GITHUB_TOKEN: ${{ secrets.PROMBOT_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 ZONE: europe-west3-a 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":"funcbench-status","target_url":"'$GITHUB_STATUS_TARGET_URL'"}' "https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA" - name: Prepare nodepool uses: docker://prominfra/funcbench:master with: entrypoint: 'docker_entrypoint' args: make deploy - name: Delete all resources if: always() uses: docker://prominfra/funcbench:master with: entrypoint: 'docker_entrypoint' args: 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":"funcbench-status","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":"funcbench-status","target_url":"'$GITHUB_STATUS_TARGET_URL'"}' "https://api.github.com/repos/$GITHUB_REPOSITORY/statuses/$LAST_COMMIT_SHA"