diff --git a/.github/workflows/happy-pancakes.yml b/.github/workflows/happy-pancakes.yml deleted file mode 100644 index 6b90c44e18b..00000000000 --- a/.github/workflows/happy-pancakes.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: Happy Pancakes -on: - pull_request: - types: [opened, edited, labeled, unlabeled, synchronize, ready_for_review, auto_merge_enabled, auto_merge_disabled] -jobs: - check_status: - name: Check Required Status or force-merge label - runs-on: ubuntu-latest - steps: - # Cancel current runs if they're still running - # (saves processing on fast pushes) - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.9.1 - with: - access_token: ${{ github.token }} - # Wait until our required statuses are ready or failed - # Unless force-merge is present, and then just be good. - - name: Check Status - uses: actions/github-script@v4 - with: - script: | - function sleep(ms) { - return new Promise(resolve => setTimeout(resolve, ms)); - } - let pull = await github.pulls.get({ - owner: "grpc", - repo: "grpc", - pull_number: ${{ github.event.pull_request.number }} - }); - for (var i = 0; i < pull.data.labels.length; i++) { - let label = pull.data.labels[i]; - if (label.name == "force-merge") { - console.log("Saw force-merge label"); - return; - } - } - while (true) { - var need = new Set(); - need.add("Bazel Basic build for C/C++"); - need.add("Portability Tests Linux [Build Only] (internal CI)"); - for (var page=1;; page++) { - console.log("***** page " + page); - let statuses = await github.repos.listCommitStatusesForRef({ - owner: "grpc", - repo: "grpc", - ref: "${{ github.event.pull_request.head.sha }}", - per_page: 100, - page: page - }); - for (var i = 0; i < statuses.data.length; i++) { - let status = statuses.data[i]; - console.log(status.context, status.state, need); - if (need.has(status.context)) { - if (status.state == "success") { - need.delete(status.context); - } else if (status.state == "pending") { - // do nothing - } else { - core.setFailed("Required status failed: " + status.context); - return; - } - } - } - if (statuses.data.length < 100) { - break; - } - } - if (need.size == 0) { - return; - } - // Sleep 15 minutes between polls - await sleep(15 * 60 * 1000); - } -