<feed xmlns='http://www.w3.org/2005/Atom'>
<title>maintainer-tools, branch master</title>
<subtitle>Maintainer scripts for OpenWrt</subtitle>
<id>https://git-03.infra.openwrt.org/maintainer-tools/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/maintainer-tools/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/'/>
<updated>2026-09-24T18:59:49Z</updated>
<entry>
<title>github-action-approve.py: add tool to approve pending workflow runs</title>
<updated>2026-09-24T18:59:49Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2026-08-12T00:10:33Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/commit/?id=5f3d959043eee05e3ff50af5029ae054068047ad'/>
<id>urn:sha1:5f3d959043eee05e3ff50af5029ae054068047ad</id>
<content type='text'>
Workflow runs of pull requests coming from a fork are held back until a
maintainer approves them. The web interface only offers an approval
button for the newest run of a pull request, so all older runs of the
same pull request stay pending forever and have to be approved one by
one. This adds a script which approves all of them.

The runs are approved with the official REST endpoint:

  POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve

Matching the runs to a pull request needs some care. The pull_requests
list of a workflow run is empty when the run was triggered from a fork,
which is exactly the case for the runs which need an approval. The runs
are therefore matched on the head repository and the head branch of the
pull request. This also finds the runs of commits which were replaced by
a force push and are not part of the pull request any more.

A pending run is reported with status "completed" and conclusion
"action_required", so both are checked. Runs which are held back by an
environment protection rule use the pending_deployments endpoint
instead.

The token is taken from the GitHub CLI and the script waits one second
after the server confirmed an approval to not run into the secondary
rate limits.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
<entry>
<title>make-changelog.pl: Add support for full issue URLs</title>
<updated>2025-12-18T20:48:24Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2025-09-21T09:48:09Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/commit/?id=803e61df2fc9f5323fb8ad625bbac54f1778681c'/>
<id>urn:sha1:803e61df2fc9f5323fb8ad625bbac54f1778681c</id>
<content type='text'>
Detect Fixes tags which link a github issue using the full URL. We have
such Fixes tags in the commit messags now.

Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
<entry>
<title>makebranch: update openwrt-keyring package with target version</title>
<updated>2025-12-10T22:57:22Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2025-12-10T22:56:06Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/commit/?id=4a20f00e0c4b24b72c29315a78924d19a04315d2'/>
<id>urn:sha1:4a20f00e0c4b24b72c29315a78924d19a04315d2</id>
<content type='text'>
On branching for a new version, also update the openwrt-keyring to
install the specific .pem key.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>update_git_source_package.sh: fix umask</title>
<updated>2025-10-22T11:55:05Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2025-10-22T11:54:21Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/commit/?id=f648a1d9f955aeb51c0c1f50063c7a08796a75b3'/>
<id>urn:sha1:f648a1d9f955aeb51c0c1f50063c7a08796a75b3</id>
<content type='text'>
Avoids generating tarballs with mismatching file modes

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>update_git_source_package.sh: pass MIRROR_HASH=x on download call</title>
<updated>2025-07-21T16:20:42Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2025-07-21T16:20:41Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/commit/?id=e0f0ae0a8e44e802319a987f615caf3a5a51a3ff'/>
<id>urn:sha1:e0f0ae0a8e44e802319a987f615caf3a5a51a3ff</id>
<content type='text'>
Skips mirror hash validation on update.
Preparation for stricter validation on download

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>github-merge-pr: Prevent multiple Link: https://github.com/$REPO/pull/$PRID</title>
<updated>2024-11-16T14:00:45Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2024-11-16T14:00:45Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/commit/?id=deac687606522a8ba4266c294ed6df4cc3288490'/>
<id>urn:sha1:deac687606522a8ba4266c294ed6df4cc3288490</id>
<content type='text'>
Prevent multiple Link: https://github.com/$REPO/pull/$PRID from being
included in the commit by removing any already present entry with the
same link.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>makebranch: update default branch from master to main</title>
<updated>2024-10-31T21:46:42Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2024-10-31T21:46:42Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/commit/?id=0f9a70649173e0ce53f71de53a2d07679667ab25'/>
<id>urn:sha1:0f9a70649173e0ce53f71de53a2d07679667ab25</id>
<content type='text'>
Update default branch from master to main to make the script usable
again.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>github-merge-pr: doc: Install extra git-filter-repo</title>
<updated>2024-07-16T17:09:38Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2024-07-06T16:07:25Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/commit/?id=b03ba9f35e6c084c961ff07e80cf14c071fa3efd'/>
<id>urn:sha1:b03ba9f35e6c084c961ff07e80cf14c071fa3efd</id>
<content type='text'>
The git filter-repo command is not available by default.

Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
<entry>
<title>github-merge-pr: Add option to ignore .mergeable</title>
<updated>2024-07-16T17:09:37Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2024-07-06T16:07:24Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/commit/?id=bed63ed659a61bab5cc046d8ac8c8774b294f0e6'/>
<id>urn:sha1:bed63ed659a61bab5cc046d8ac8c8774b294f0e6</id>
<content type='text'>
The option IGNORE_MERGEABLE allows to ignore if the PR is mergeable.
This allows to prepare PRs which can not be force pushed with this
script.

Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
<entry>
<title>github-merge-pr: Add option for no remote operations</title>
<updated>2024-07-16T17:09:37Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2024-07-06T16:07:23Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/maintainer-tools/commit/?id=b5d78394fc963606f935999688a40bd52504415e'/>
<id>urn:sha1:b5d78394fc963606f935999688a40bd52504415e</id>
<content type='text'>
This adds the new option GITHUB_NO_PUSH which will prevent the script
from doing any changes to remote repositories.

Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
</feed>
