Skip to content

Conversation

@pratlucas
Copy link
Contributor

In order to follow the project's downstream patch policy (see
CONTRIBUTING.md), modifications to the LLVM codebase (all files outside
the arm-software sub-directory, with a few exceptions) need to have a
issue opened in GitHub in order to track the changes, with the pull
request linking to that issue.

This patch implements a Python script and a GitHub workflow to run the
script whenever a pull request is opened or modified. The script takes a
pull request number, and uses the GitHub command-line interface to get
information about which files are changed, and whether the body text of
the pull request contains the required linkage. To determine which files
need tracking, the file changes are compared against the automerge
ignore list, which already contains the rules for which files are
expected to be different. The body text of the pull request can then be
searched for the expectedly formatted tagging.

Automating the check with a GitHub workflow should ensure downstream
changes are properly tracked and that anyone making a downstream change
is aware of the downstream patch policy.

This currently does not check whether a pull request which states that
it removes a downstream change actually completely removes a downstream
change. That will require additional scripting, to follow later.

This cherry-picks the changes from #351 into the 20.x release branch.

In order to follow the project's downstream patch policy (see
CONTRIBUTING.md), modifications to the LLVM codebase (all files outside
the arm-software sub-directory, with a few exceptions) need to have a
issue opened in GitHub in order to track the changes, with the pull
request linking to that issue.

This patch implements a Python script and a GitHub workflow to run the
script whenever a pull request is opened or modified. The script takes a
pull request number, and uses the GitHub command-line interface to get
information about which files are changed, and whether the body text of
the pull request contains the required linkage. To determine which files
need tracking, the file changes are compared against the automerge
ignore list, which already contains the rules for which files are
expected to be different. The body text of the pull request can then be
searched for the expectedly formatted tagging.

Automating the check with a GitHub workflow should ensure downstream
changes are properly tracked and that anyone making a downstream change
is aware of the downstream patch policy.

This currently does not check whether a pull request which states that
it removes a downstream change actually completely removes a downstream
change. That will require additional scripting, to follow later.

This cherry-picks the changes from arm#351 into the 20.x release branch.
@pratlucas pratlucas merged commit f99f917 into arm:release/arm-software/20.x Jun 25, 2025
@pratlucas pratlucas deleted the release/arm-software/20.x branch June 25, 2025 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants