<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/BaseTools/Scripts/PatchCheck.py, branch dependabot/github_actions/github/codeql-action-4</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Fgithub%2Fcodeql-action-4</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Fgithub%2Fcodeql-action-4'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2025-09-05T06:32:06+00:00</updated>
<entry>
<title>BaseTools: PatchCheck.py: Allow MultiPkg Commits For Subject Check</title>
<updated>2025-09-05T06:32:06+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2025-08-05T21:11:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6093cfcdd19b242f16c473d0146906984c92d0a5'/>
<id>urn:sha1:6093cfcdd19b242f16c473d0146906984c92d0a5</id>
<content type='text'>
Subject Check was added to PatchCheck.py to enforce that if a package
was touched in a commit that it be referenced in the subject line.

However, this is impractical for multipackage commits with many
packages, e.g. when stack cookies were added, every package was
touched, but in a rote way, and it is not reasonable to put every
package in a subject line.

This updates PatchCheck.py to check if ignore_multi_package is set
and if so only require that package names be included in the subject
if there are fewer than 3 packages touched. Otherwise, PatchCheck will
require the message to start with `Global:` to indicate it touches
more than 3 packages.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/PatchCheck.py: Check CI Options Before Parsing</title>
<updated>2025-09-05T06:32:06+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2025-08-05T21:09:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d2501910424569ce8925eae4bdff46ff7d8ad3de'/>
<id>urn:sha1:d2501910424569ce8925eae4bdff46ff7d8ad3de</id>
<content type='text'>
PatchCheck.py currently parses the CI options as the last
step it does before reporting results. This means that the
other checking logic cannot use any of the CI options that
are passed in.

This updates the order of operations to process CI options
before running other checks so that they can be used in
performing checks.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/PatchCheck.py: permit at least 20 characters after ':'</title>
<updated>2025-07-02T20:14:21+00:00</updated>
<author>
<name>Leif Lindholm</name>
<email>leif.lindholm@oss.qualcomm.com</email>
</author>
<published>2025-06-30T15:48:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=87a4bfd28c1f45f29a0c8826dfe981e1ebc12fa8'/>
<id>urn:sha1:87a4bfd28c1f45f29a0c8826dfe981e1ebc12fa8</id>
<content type='text'>
Commit b55530ad4460
("BaseTools/PatchCheck.py: verify commit message lists package(s)")
introduced a check for the requirement to enumerate all modified packages
in the commit subject line. But it did leave the maximum line length at
75 characters (for non-CVE commits), which can get a bit cramped for
changes to several packages.

Introduce a new arbitrary "at least 20 characters after the :" limit.

Signed-off-by: Leif Lindholm &lt;leif.lindholm@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/PatchCheck.py: clean up subject line length handling</title>
<updated>2025-07-02T20:14:21+00:00</updated>
<author>
<name>Leif Lindholm</name>
<email>leif.lindholm@oss.qualcomm.com</email>
</author>
<published>2025-06-30T15:43:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2bcad870049ae495eb8884b6ece893548fee770c'/>
<id>urn:sha1:2bcad870049ae495eb8884b6ece893548fee770c</id>
<content type='text'>
Use a temporary variable for max subject line length and log
result of test in one location.

Signed-off-by: Leif Lindholm &lt;leif.lindholm@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/PatchCheck.py: drop redundant line count check</title>
<updated>2025-07-02T20:14:21+00:00</updated>
<author>
<name>Leif Lindholm</name>
<email>leif.lindholm@oss.qualcomm.com</email>
</author>
<published>2025-06-30T14:55:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=27d44c1abd676a8db2cb92f231e2bc4cc89370da'/>
<id>urn:sha1:27d44c1abd676a8db2cb92f231e2bc4cc89370da</id>
<content type='text'>
Before doing the subject line length check, the script checks that the
number of lines in the commit message (including subject) is not less
than or equal to zero - and returns if it is.

However, then the test for whether the subject line starts with a CVE
tag inexplicably also checks for whether the number of lines are
greater than or equal to one. This is just clutter, so drop it.

Signed-off-by: Leif Lindholm &lt;leif.lindholm@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/PatchCheck.py: verify commit message lists package(s)</title>
<updated>2025-06-25T16:22:25+00:00</updated>
<author>
<name>Leif Lindholm</name>
<email>leif.lindholm@oss.qualcomm.com</email>
</author>
<published>2025-06-10T12:18:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b55530ad4460c0eb31c2326dd86028e2b4639909'/>
<id>urn:sha1:b55530ad4460c0eb31c2326dd86028e2b4639909</id>
<content type='text'>
Verify that the subject line matches the basic
{Package}[,Package]:
format _or_ the
Revert "&lt;subject of commit to revert&gt;"
format.

Non-package top-level directories are treated as packages.

Suggested-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Signed-off-by: Leif Lindholm &lt;leif.lindholm@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/PatchCheck.py: pass list of packages to CommitMessageCheck</title>
<updated>2025-06-25T16:22:25+00:00</updated>
<author>
<name>Leif Lindholm</name>
<email>leif.lindholm@oss.qualcomm.com</email>
</author>
<published>2025-06-10T12:18:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c44efa0fbd393c47756bed8708c47650a23218ac'/>
<id>urn:sha1:c44efa0fbd393c47756bed8708c47650a23218ac</id>
<content type='text'>
In order to enable subject line format compliance checking in following
patches, pass through a list of modified packages to CommitMessageCheck.

Signed-off-by: Leif Lindholm &lt;leif.lindholm@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>BaseTools/PatchCheck.py: make get_parent_packages return directory names</title>
<updated>2025-06-25T16:22:25+00:00</updated>
<author>
<name>Leif Lindholm</name>
<email>leif.lindholm@oss.qualcomm.com</email>
</author>
<published>2025-06-10T11:56:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a2e20bc4b0dc4f88105d304dd99479fd4f1eaac0'/>
<id>urn:sha1:a2e20bc4b0dc4f88105d304dd99479fd4f1eaac0</id>
<content type='text'>
The get_parent_packages function in CheckGitCommits returns the path of
non-package directories, but in fact returns the path of the .dec file
for actual packages.

Align the handling to be more consistent and return only directory names,
regarding of how it was found.

Signed-off-by: Leif Lindholm &lt;leif.lindholm@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Add line number to PatchCheck error messages</title>
<updated>2025-06-06T18:50:54+00:00</updated>
<author>
<name>Gary Beihl</name>
<email>garybeihl@microsoft.com</email>
</author>
<published>2025-05-28T16:25:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=431da739a0a45882f2b4e703ba2bca5583914646'/>
<id>urn:sha1:431da739a0a45882f2b4e703ba2bca5583914646</id>
<content type='text'>
PatchCheck error messages can be improved by adding the line number.
The line itself may consist of only whitespace for some errors.
Adding the line number can help better locate the error source.

Signed-off-by: Gary Beihl &lt;garybeihl@microsoft.com&gt;
</content>
</entry>
<entry>
<title>BaseTools: Remove Pip BaseTools</title>
<updated>2024-09-10T00:41:53+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@linux.microsoft.com</email>
</author>
<published>2024-09-04T17:02:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=61f9695f20a575085d0579a0d3efc41b322ce1ac'/>
<id>urn:sha1:61f9695f20a575085d0579a0d3efc41b322ce1ac</id>
<content type='text'>
BaseTools was moved out to a separate repo and consumed as a pip
module by edk2 CI. This process has not led to the desired goals
of doing so, so this patch removes the pip based BaseTools from
edk2 CI.

The original goal of moving BaseTools to a pip module was
primarily to speed up the development process, as the old edk2
mailing list was slow. However, with edk2 moving to PRs, it now
actually slows the BaseTools development process to have to do
a PR in another repo, publish the module, and then make a PR
in edk2 to consume the new BaseTools. It also holds up using
the features in a new BaseTools in other PRs.

There were other goals of moving, such as allowing projects to
use the BaseTools outside of edk2. This can still be accomplished
outside of this PR, this PR simply stops edk2 CI from using the
pip module.

Continuous-integration-options: PatchCheck.ignore-multi-package

Signed-off-by: Oliver Smith-Denny &lt;osde@linux.microsoft.com&gt;
</content>
</entry>
</feed>
