From 626eba53b81f6fcbc2a7b6366c370fba9ffaa1c3 Mon Sep 17 00:00:00 2001 From: Sajith Sasidharan Date: Sat, 27 Mar 2021 10:17:22 -0400 Subject: [PATCH] Run `coveralls --finish` to indicate completion --- .github/workflows/ci.yml | 77 +++++----------------------------------- 1 file changed, 9 insertions(+), 68 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1b75f95b9..8eaef0d07 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -129,80 +129,21 @@ jobs: # a single report, we have to tell Coveralls when we've uploaded all of the # data files. This does it. We make sure it runs last by making it depend # on *all* of the coverage-collecting jobs. + # + # See notes about parallel builds on GitHub Actions at + # https://coveralls-python.readthedocs.io/en/latest/usage/configuration.html finish-coverage-report: - # There happens to just be one coverage-collecting job at the moment. If - # the coverage reports are broken and someone added more - # coverage-collecting jobs to this workflow but didn't update this, that's - # why. - needs: - - "coverage" - runs-on: "ubuntu-latest" + needs: coverage + runs-on: ubuntu-latest + container: python:3-slim steps: - - name: "Check out Tahoe-LAFS sources" - uses: "actions/checkout@v2" - - - name: "Finish Coveralls Reporting" + - name: "Indicate completion to coveralls.io" run: | - # coveralls-python does have a `--finish` option but it doesn't seem - # to work, at least for us. - # https://github.com/coveralls-clients/coveralls-python/issues/248 - # - # But all it does is this simple POST so we can just send it - # ourselves. The only hard part is guessing what the POST - # parameters mean. And I've done that for you already. - # - # Since the build is done I'm going to guess that "done" is a fine - # value for status. - # - # That leaves "build_num". The coveralls documentation gives some - # hints about it. It suggests using $CIRCLE_WORKFLOW_ID if your job - # is on CircleCI. CircleCI documentation says this about - # CIRCLE_WORKFLOW_ID: - # - # Observation of the coveralls.io web interface, logs from the - # coveralls command in action, and experimentation suggests the - # value for PRs is something more like: - # - # -PR- - # - # For branches, it's just the git branch tip hash. - - # For pull requests, refs/pull//merge was just checked out - # by so HEAD will refer to the right revision. For branches, HEAD - # is also the tip of the branch. - REV=$(git rev-parse HEAD) - - # We can get the PR number from the "context". - # - # https://docs.github.com/en/free-pro-team@latest/developers/webhooks-and-events/webhook-events-and-payloads#pull_request - # - # (via ). - # - # If this is a pull request, `github.event` is a `pull_request` - # structure which has `number` right in it. - # - # If this is a push, `github.event` is a `push` instead but we only - # need the revision to construct the build_num. - - PR=${{ github.event.number }} - - if [ "${PR}" = "" ]; then - BUILD_NUM=$REV - else - BUILD_NUM=$REV-PR-$PR - fi - REPO_NAME=$GITHUB_REPOSITORY - - curl \ - -k \ - https://coveralls.io/webhook?repo_token=$COVERALLS_REPO_TOKEN \ - -d \ - "payload[build_num]=$BUILD_NUM&payload[status]=done&payload[repo_name]=$REPO_NAME" + pip3 install --upgrade coveralls==3.0.1 + python3 -m coveralls --finish env: # Some magic value required for some magic reason. GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - # Help coveralls identify our project. - COVERALLS_REPO_TOKEN: "JPf16rLB7T2yjgATIxFzTsEgMdN1UNq6o" integration: runs-on: ${{ matrix.os }}