Skip to content

Migrate to the shared automation-template.yml entry point #238

Description

@akolson

This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview

This repo copies seven caller workflows from learningequality/.github, one per automation.
learningequality/.github#88 replaces all of them with one file. Swap the seven callers for that one file.

Complexity: Low
Target branch: main

Context

Each call-*.yml file in .github/workflows/ carries its own on: block and its own exhaustive
types: list. Adding, removing or toggling an automation therefore means a change in every consumer
repo. The hand-maintained types: lists also drift, because a default pull_request_target trigger
fires only on opened, synchronize and reopened, and silently misses labeled,
review_requested and assigned.

learningequality/.github#88 moves all routing into a central reusable automation.yml. Consumers
copy one template, whose on: block is generated as the union of every enabled automation.

These are the caller workflows in this repo today:

  • call-pull-request-target.yml
  • call-contributor-issue-comment.yml
  • call-contributor-pr-reply.yml
  • call-manage-issue-header.yml
  • call-update-pr-spreadsheet.yml
  • community-contribution-labeling.yml
  • unassign-inactive.yaml

Together they run 11 of the 13 automations in the registry.

The Change

Replace those caller workflows with one copy of automation-template.yml from
learningequality/.github, saved as .github/workflows/automation.yml. Do not edit the copy.

This repo gains two automations it does not run today:

  • good-first-issue-comment posts contributor guidance when an issue is labeled good first issue
    or help wanted.
  • resolve-bot-pr-threads resolves a review thread when the bot marks its comment as addressed.

Nothing else changes. No leaf workflow's internal logic is different.

Out of Scope

  • Changing what any automation does. This is a routing change only.
  • Editing the copied template. Its on: block is generated, and a local edit will drift from
    learningequality/.github.

Acceptance Criteria

  • .github/workflows/automation.yml is an unedited copy of automation-template.yml from
    learningequality/.github@main.
  • Every caller workflow listed above is deleted.
  • LE_BOT_APP_ID and LE_BOT_PRIVATE_KEY resolve in a workflow run in this repo.
  • After merge, each of these fires the automation it fired before: opening a pull request,
    labeling a pull request, requesting a review, opening an issue, labeling an issue
    help wanted, assigning an issue, and commenting on an issue.
  • The weekly unassign-inactive-issues run still fires on Mondays at 00:01 UTC.

Testing

  1. Open a draft pull request. Confirm that the contributor reply and the spreadsheet update run.
  2. Add and remove the help wanted label on a test issue. Confirm that the header updates both times.
  3. Assign and unassign a test issue. Confirm that the community contribution label follows.
  4. Comment on a test issue as a contributor account. Confirm that the Slack notification is sent.
  5. Run the Automation workflow manually from the Actions tab. Confirm that only
    unassign-inactive-issues runs.

References

AI usage

I used Claude Code to inspect the caller workflows in this repo and to draft this issue. I verified
the file list and the automation counts against the repo myself, and I edited the wording.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1 - importantPriority: High impact on UXgithub_actionsPull requests that update GitHub Actions code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions