Add custom token to community contributions workflow

The pause-community-contributions workflow makes a call to the
GitHub API to check if the person contributing is a member of
the organization.

However, this call currently fails if the contributor has set their
membership to 'private'.

This is because the default token provided for GitHub Actions only
has permissions for the repository, not for the organization. With
this token, we're not allowed to see private memberships.

We've created a custom, org-wide secret containing a personal token
that has permissions to read organization membership.

Unfortunately the secret cannot be accessed directly by the shared
workflow, it has to be passed in.

We updated the shared workflow to use the token, if it is provided,
and this PR updates the workflow in this repo to pass the secret.

Until this is merged, contributions from people with private membership
in the Exercism organization will be automatically closed.

Note that this PR also removes the workflow_dispatch which fails if
you try to use it.
This commit is contained in:
Katrina Owen
2022-12-09 09:59:51 +01:00
committed by BethanyG
parent a7b7f8ec92
commit ed310e1949

View File

@@ -10,7 +10,6 @@ on:
paths-ignore: paths-ignore:
- 'exercises/*/*/.approaches/**' - 'exercises/*/*/.approaches/**'
- 'exercises/*/*/.articles/**' - 'exercises/*/*/.articles/**'
workflow_dispatch:
permissions: permissions:
issues: write issues: write
@@ -22,3 +21,5 @@ jobs:
uses: exercism/github-actions/.github/workflows/community-contributions.yml@main uses: exercism/github-actions/.github/workflows/community-contributions.yml@main
with: with:
forum_category: python forum_category: python
secrets:
github_membership_token: ${{ secrets.COMMUNITY_CONTRIBUTIONS_WORKFLOW_TOKEN }}