ADR Suggestion Extend ADR #33 (Unified Labeling System)
#49
Replies: 2 comments
-
Changes to
|
Beta Was this translation helpful? Give feedback.
-
|
Combine Option 2 with Option 3 (python script which should be able to run for the entire org as well) needs to go to the Copier Template setup as a separate script. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
In ADR #33 - Unified Labeling System, four standardized label groups were defined to simplify and unify issue and pull request management across the EasyScience organization.
This ADR suggestion is opened to document recent changes that were not yet captured in ADR #33, and to propose a small extension to the labeling system for automated pull requests.
Changes to
[scope] documentationThe description of the label
[scope] documentationhas been updated.Old description:
New description:
This means that a merged PR labeled with
[scope] documentationshould now result in a version bump likeX.Y.Z.postN, instead of using-EXTENSION.The reason for this change is that
.postversions increase the package version as expected, while using a suffix like-EXTENSIONactually result in a lower version according to Python versioning rules, which is not what we want.New label:
[bot] pull requestTo clearly distinguish automated pull requests from human-authored work, a new label is proposed:
[bot] pull request#5319e7(violet)This label belongs to a new unified group:
[bot] labels group
Description:
This makes automated activity explicit and easier to filter.
Label update scripts
Option 1: Existing bash script (current approach)
We already have an existing bash script in
easyscience/tools:https://github.com/easyscience/tools/blob/master/unified_labels.sh
This script works well for applying unified labels across the organization.
Pros:
Cons:
Option 2: Python script in Copier templates (experimental / incremental)
A Python-based script was added to the Copier templates, mainly as an experiment, to avoid running the bash script for the whole organization every time and to safely test new or updated labels on individual repositories only:
https://github.com/easyscience/templates/blob/master/template/tools/update_github_labels.py
The script is intended to be run via a Pixi task and can target:
It supports a
--dry-runmode to preview the commands that would be executed, without applying any changes.Pros:
Cons:
Option 3: Centralized, CI-based solution (proposed next step)
Given the higher flexibility and maintainability of the Python approach, a possible next step would be to extend it with an option to update all repositories in the organization, move it to
easyscience/tools, and add a workflow to expose it via a GitHub Action usingworkflow_dispatch.Such a workflow could allow:
In this case, the same tool could be run either locally as a cross-platform solution or remotely via GitHub Actions.
Beta Was this translation helpful? Give feedback.
All reactions