Summary
We're looking for a community contribution to automate the plugin archive process as a manually triggered GitHub Action. Right now, archiving a plugin requires a maintainer to run scripts locally and open a PR by hand. A workflow_dispatch action would make this faster, more consistent, and lower the barrier for maintainers to action unmaintained plugins.
This is part of a broader effort to formalise how we handle unmaintained plugins — see the Unmaintained Plugin Process RFC for context.
What We're Looking For
A manually triggered GitHub Action (workflow_dispatch) that:
- Accepts a workspace name as input
- Follows the documented archive steps end-to-end
- Opens a PR on a branch named
archived/<workspace-name>
- Creates a GitHub issue to notify the plugin owner and community that the archive process has been triggered
Action Inputs
| Input |
Required |
Description |
workspace |
✅ |
The name of the workspace to archive (e.g. azure-sites) |
reason |
❌ |
Custom deprecation reason. Defaults to "No longer maintained" |
Steps the Action Should Perform
-
Run the archive script
node scripts/archive.js <workspace> "<reason>"
This records Git tag references, updates .github/archived-plugins.json, ARCHIVED_WORKSPACES.md, docs/README.md, .github/CODEOWNERS, .github/labeler.yml, and the issue template workspace dropdowns.
-
Dry-run the deprecation script to verify the packages that would be deprecated on npm:
./scripts/ci/deprecate-archived-plugins.sh --dry-run
-
Delete the workspace folder from the repository.
-
Open a PR targeting main on a branch named archived/<workspace-name>, including all changes from the steps above. The PR description should:
- Link to the unmaintained issue created in step 5
- Note that the npm deprecation will be triggered automatically once the PR is merged via the existing GitHub Action
-
Create a GitHub issue titled [Unmaintained] <workspace-name>, tagged with the unmaintained label, notifying the plugin's code owners and the community that the archive PR has been opened and stating when it will be merged if no action is taken. See the issue template for the expected content.
Notes
- The action should only be triggerable by members of
@backstage/community-plugins-maintainers
- Step 2 (deprecation dry-run) output should be included in the PR description so reviewers can see what will be deprecated on npm at merge time
- The existing post-merge GitHub Action that handles npm deprecation does not need to change — this action only handles the PR creation side
- For reference, the manual process this is replacing is documented here: How to Archive
If you're interested in picking this up, please leave a comment and we'll assign it to you. Questions about the archive process or the broader unmaintained plugin initiative are welcome here too.
Summary
We're looking for a community contribution to automate the plugin archive process as a manually triggered GitHub Action. Right now, archiving a plugin requires a maintainer to run scripts locally and open a PR by hand. A
workflow_dispatchaction would make this faster, more consistent, and lower the barrier for maintainers to action unmaintained plugins.This is part of a broader effort to formalise how we handle unmaintained plugins — see the Unmaintained Plugin Process RFC for context.
What We're Looking For
A manually triggered GitHub Action (
workflow_dispatch) that:archived/<workspace-name>Action Inputs
workspaceazure-sites)reason"No longer maintained"Steps the Action Should Perform
Run the archive script
This records Git tag references, updates
.github/archived-plugins.json,ARCHIVED_WORKSPACES.md,docs/README.md,.github/CODEOWNERS,.github/labeler.yml, and the issue template workspace dropdowns.Dry-run the deprecation script to verify the packages that would be deprecated on npm:
Delete the workspace folder from the repository.
Open a PR targeting
mainon a branch namedarchived/<workspace-name>, including all changes from the steps above. The PR description should:Create a GitHub issue titled
[Unmaintained] <workspace-name>, tagged with theunmaintainedlabel, notifying the plugin's code owners and the community that the archive PR has been opened and stating when it will be merged if no action is taken. See the issue template for the expected content.Notes
@backstage/community-plugins-maintainersIf you're interested in picking this up, please leave a comment and we'll assign it to you. Questions about the archive process or the broader unmaintained plugin initiative are welcome here too.