nodejs / nodejs/admin

Create an automation GitHub App for actions

Open
#936 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
202
Forks
183
Avg merge
2m
Merged PRs (30d)
1

Description

To automate common workflows like release-please and dependency updaters, a personal access token or a github app installation token is required to trigger subsequent GitHub Action workflows.

When you use the repository's GITHUB_TOKEN to perform tasks, events triggered by the GITHUB_TOKEN will not create a new workflow run. This prevents you from accidentally creating recursive workflow runs.
https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/triggering-a-workflow#triggering-a-workflow-from-a-workflow

However, GitHub does not allow creating PAT via API. This makes it awkward to automate token creation.

I propose creating a GitHub App in the @nodejs organization with the following permissions:

  • contents: write and pull-requests: write (permissions to create tags and pull requests, requested by release-please and for dependency updaters),
  • This GitHub App needs explicit granting to specific repositories, via explicit requests in the admin repo,
  • Only allow this GitHub App to be installed on the @nodejs account.

With this new GitHub app, new github action workflows can follow https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow to automate the token authentication. (example)

Granting the app to a repository still needs registering in this admin repo for awareness.

This is only for common workflows. Requesting permissions for customized workflows that need additional permissions should still follow the steps in https://github.com/nodejs/admin/blob/main/request-an-access-token.md.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with request-an-access-token.md in the admin repository and the linked GitHub App authentication documentation. Review the proposed permissions and repository-granting process, including the example release-please workflow. Done means an organization-restricted GitHub App exists with the stated permissions, repository access requires an admin request, and the registration process is documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, github-actions
Domain
ci-cd, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.