Skip to content

Commit 1d663ab

Browse files
authored
Bump frequenz-repo-config from 0.14.0 to 0.16.0 in the repo-config group (#507)
Bumps the repo-config group with 1 update: [frequenz-repo-config](https://github.com/frequenz-floss/frequenz-repo-config-python). Updates `frequenz-repo-config` from 0.14.0 to 0.16.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/frequenz-floss/frequenz-repo-config-python/releases">frequenz-repo-config's releases</a>.</em></p> <blockquote> <h2>v0.16.0</h2> <h1>Frequenz Repository Configuration Release Notes</h1> <h2>Summary</h2> <p>This is a maintenance, template-only, bugfix release.</p> <h2>Upgrading</h2> <h3>Cookiecutter template</h3> <p>All upgrading should be done via the migration script or regenerating the templates.</p> <pre lang="bash"><code>curl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.16.0/cookiecutter/migrate.py | python3 </code></pre> <h2>Bug Fixes</h2> <h3>Cookiecutter template</h3> <ul> <li>Added a migration step for api repositories to fix <code>mkdocs.yml</code> when the previous <code>mkdocstrings-python</code> v2 migration moved only <code>paths: [&quot;src&quot;]</code> under <code>handlers.python.options</code> but not <code>paths: [&quot;py&quot;]</code>.</li> <li>Fixed runners for jobs that require Docker and where wrongly converted to <code>ubuntu-slim</code> in v0.15.0, changing them back to <code>ubuntu-24.04</code> to avoid Docker-related failures. The template and the migration script were both updated to reflect this change.</li> <li>Updated the repo-config migration workflow template and migration script so existing repositories also add the <code>merge_group</code> trigger and skip the job unless the event is <code>pull_request_target</code>, allowing the workflow to be used as a required merge-queue check.</li> <li>Added a migration step to remove the copilot review request from the Protect version branch protection rules. This was also done by v0.15.0 in theory, but the migration step was wrong and didn't update it properly.</li> </ul> <h2>What's Changed</h2> <ul> <li>Fix mkdocs python path for API repos by <a href="https://github.com/llucax"><code>@​llucax</code></a> in <a href="https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/534">frequenz-floss/frequenz-repo-config-python#534</a></li> <li>migrate: Update runners for Docker jobs by <a href="https://github.com/llucax"><code>@​llucax</code></a> in <a href="https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/536">frequenz-floss/frequenz-repo-config-python#536</a></li> <li>ci: Trigger repo-config migration in merge queue by <a href="https://github.com/llucax"><code>@​llucax</code></a> in <a href="https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/537">frequenz-floss/frequenz-repo-config-python#537</a></li> <li>migrate: Fix version ruleset copilot removal by <a href="https://github.com/llucax"><code>@​llucax</code></a> in <a href="https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/535">frequenz-floss/frequenz-repo-config-python#535</a></li> <li>Prepare for the v0.16.0 release by <a href="https://github.com/llucax"><code>@​llucax</code></a> in <a href="https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/pull/538">frequenz-floss/frequenz-repo-config-python#538</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.15.1...v0.16.0">https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.15.1...v0.16.0</a></p> <h2>v0.15.1</h2> <h1>Frequenz Repository Configuration Release Notes</h1> <blockquote> <p>[!NOTE] This is a bugfix release for v0.15.0. This release was never published to PyPI, so we keep the entire release notes for v0.15.0 here (updated to the new changes) to make it easier for users to upgrade from v0.14.0 to v0.15.x.</p> <p>The only change with respect to v0.15.0 is using the appropriate job runner for the <code>publish-to-pypi</code> job in <code>ci.yaml</code>. v0.15.0 updated it to <code>ubuntu-slim</code> but that didn't work because it requires Docker, and it is not installed on the <code>ubuntu-slim</code> runner.</p> </blockquote> <h2>Summary</h2> <p>This release reduces CI cost by moving lightweight GitHub Actions jobs to the new <code>ubuntu-slim</code> runner, fixes Dependabot auto-merge/merge-queue issues by switching to a GitHub App installation token, and introduces an automated repo-config migration workflow (including updating existing repos' version-branch protection defaults).</p> <h2>Upgrading</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.16.0/RELEASE_NOTES.md">frequenz-repo-config's changelog</a>.</em></p> <blockquote> <h1>Frequenz Repository Configuration Release Notes</h1> <h2>Summary</h2> <p>This is a maintenance, template-only, bugfix release.</p> <h2>Upgrading</h2> <h3>Cookiecutter template</h3> <p>All upgrading should be done via the migration script or regenerating the templates.</p> <pre lang="bash"><code>curl -sSL https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.16.0/cookiecutter/migrate.py | python3 </code></pre> <h2>Bug Fixes</h2> <h3>Cookiecutter template</h3> <ul> <li>Added a migration step for api repositories to fix <code>mkdocs.yml</code> when the previous <code>mkdocstrings-python</code> v2 migration moved only <code>paths: [&quot;src&quot;]</code> under <code>handlers.python.options</code> but not <code>paths: [&quot;py&quot;]</code>.</li> <li>Fixed runners for jobs that require Docker and where wrongly converted to <code>ubuntu-slim</code> in v0.15.0, changing them back to <code>ubuntu-24.04</code> to avoid Docker-related failures. The template and the migration script were both updated to reflect this change.</li> <li>Updated the repo-config migration workflow template and migration script so existing repositories also add the <code>merge_group</code> trigger and skip the job unless the event is <code>pull_request_target</code>, allowing the workflow to be used as a required merge-queue check.</li> <li>Added a migration step to remove the copilot review request from the Protect version branch protection rules. This was also done by v0.15.0 in theory, but the migration step was wrong and didn't update it properly.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/frequenz-floss/frequenz-repo-config-python/commit/fa0fc91875b45e3e947249d9e7b936ef0a804387"><code>fa0fc91</code></a> Prepare for the v0.16.0 release (<a href="https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/538">#538</a>)</li> <li><a href="https://github.com/frequenz-floss/frequenz-repo-config-python/commit/028d1b588630839b9afa0ef12fcd4d7c8df7d5b0"><code>028d1b5</code></a> Prepare release notes for v0.16.0</li> <li><a href="https://github.com/frequenz-floss/frequenz-repo-config-python/commit/395f7e2f1f571a5a8bf434cc152998ca7dc0aaa1"><code>395f7e2</code></a> Update version to v0.16.0</li> <li><a href="https://github.com/frequenz-floss/frequenz-repo-config-python/commit/30bba6864cda88c2c92b268b3721b7ce3c4a1fb6"><code>30bba68</code></a> migrate: Fix version ruleset copilot removal (<a href="https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/535">#535</a>)</li> <li><a href="https://github.com/frequenz-floss/frequenz-repo-config-python/commit/8c21ad0f24421320934032f9bbcd725863fe5a3c"><code>8c21ad0</code></a> migrate: Fix version ruleset copilot removal</li> <li><a href="https://github.com/frequenz-floss/frequenz-repo-config-python/commit/75090ee7d69246d548273d966e8880be206d2bb5"><code>75090ee</code></a> ci: Trigger repo-config migration in merge queue (<a href="https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/537">#537</a>)</li> <li><a href="https://github.com/frequenz-floss/frequenz-repo-config-python/commit/47db92e3b5357230eb731ec076befb103ab4c7e7"><code>47db92e</code></a> ci: Trigger repo-config migration in merge queue</li> <li><a href="https://github.com/frequenz-floss/frequenz-repo-config-python/commit/f97e24afe626b8b71e5b56ec57f994dc9220e11e"><code>f97e24a</code></a> migrate: Update runners for Docker jobs (<a href="https://redirect.github.com/frequenz-floss/frequenz-repo-config-python/issues/536">#536</a>)</li> <li><a href="https://github.com/frequenz-floss/frequenz-repo-config-python/commit/675b22ff6f1dbca3a4bb5973faa4f72d8a9d59ea"><code>675b22f</code></a> migrate: Update runners for Docker jobs</li> <li><a href="https://github.com/frequenz-floss/frequenz-repo-config-python/commit/ec164048192edec03b7a34658e070c63e8ff7a35"><code>ec16404</code></a> migrate: Disable too-many-locals and branches lints</li> <li>Additional commits viewable in <a href="https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.14.0...v0.16.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=frequenz-repo-config&package-manager=pip&previous-version=0.14.0&new-version=0.16.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details>
2 parents b8c5cbd + 0a5b696 commit 1d663ab

7 files changed

Lines changed: 44 additions & 29 deletions

File tree

.github/workflows/auto-dependabot.yaml

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,39 @@
11
name: Auto-merge Dependabot PR
22

33
on:
4-
pull_request:
4+
# XXX: !!! SECURITY WARNING !!!
5+
# pull_request_target has write access to the repo, and can read secrets. We
6+
# need to audit any external actions executed in this workflow and make sure no
7+
# checked out code is run (not even installing dependencies, as installing
8+
# dependencies usually can execute pre/post-install scripts). We should also
9+
# only use hashes to pick the action to execute (instead of tags or branches).
10+
# For more details read:
11+
# https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
12+
pull_request_target:
513

614
permissions:
7-
contents: write
15+
contents: read
816
pull-requests: write
917

1018
jobs:
1119
auto-merge:
12-
if: github.actor == 'dependabot[bot]'
13-
runs-on: ubuntu-latest
20+
name: Auto-merge Dependabot PR
21+
if: >
22+
github.actor == 'dependabot[bot]' &&
23+
!contains(github.event.pull_request.title, 'the repo-config group')
24+
runs-on: ubuntu-slim
1425
steps:
26+
- name: Generate GitHub App token
27+
id: app-token
28+
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
29+
with:
30+
app-id: ${{ secrets.FREQUENZ_AUTO_DEPENDABOT_APP_ID }}
31+
private-key: ${{ secrets.FREQUENZ_AUTO_DEPENDABOT_APP_PRIVATE_KEY }}
32+
1533
- name: Auto-merge Dependabot PR
16-
uses: frequenz-floss/dependabot-auto-approve@e943399cc9d76fbb6d7faae446cd57301d110165 # v1.5.0
34+
uses: frequenz-floss/dependabot-auto-approve@e943399cc9d76fbb6d7faae446cd57301d110165 # v1.5.0
1735
with:
18-
github-token: ${{ secrets.GITHUB_TOKEN }}
36+
github-token: ${{ steps.app-token.outputs.token }}
1937
dependency-type: 'all'
2038
auto-merge: 'true'
2139
merge-method: 'merge'

.github/workflows/ci.yaml

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,9 @@ jobs:
2828
strategy:
2929
fail-fast: false
3030
matrix:
31-
arch:
32-
- amd64
33-
- arm
34-
os:
31+
platform:
3532
- ubuntu-24.04
33+
- ubuntu-24.04-arm
3634
python:
3735
- "3.11"
3836
- "3.12"
@@ -41,7 +39,7 @@ jobs:
4139
# that uses the same venv to run multiple linting sessions
4240
- "ci_checks_max"
4341
- "pytest_min"
44-
runs-on: ${{ matrix.os }}${{ matrix.arch != 'amd64' && format('-{0}', matrix.arch) || '' }}
42+
runs-on: ${{ matrix.platform }}
4543

4644
steps:
4745
- name: Run nox
@@ -60,7 +58,7 @@ jobs:
6058
needs: ["nox"]
6159
# We skip this job only if nox was also skipped
6260
if: always() && needs.nox.result != 'skipped'
63-
runs-on: ubuntu-24.04
61+
runs-on: ubuntu-slim
6462
env:
6563
DEPS_RESULT: ${{ needs.nox.result }}
6664
steps:
@@ -105,15 +103,13 @@ jobs:
105103
strategy:
106104
fail-fast: false
107105
matrix:
108-
arch:
109-
- amd64
110-
- arm
111-
os:
106+
platform:
112107
- ubuntu-24.04
108+
- ubuntu-24.04-arm
113109
python:
114110
- "3.11"
115111
- "3.12"
116-
runs-on: ${{ matrix.os }}${{ matrix.arch != 'amd64' && format('-{0}', matrix.arch) || '' }}
112+
runs-on: ${{ matrix.platform }}
117113

118114
steps:
119115
- name: Setup Git
@@ -161,7 +157,7 @@ jobs:
161157
needs: ["test-installation"]
162158
# We skip this job only if test-installation was also skipped
163159
if: always() && needs.test-installation.result != 'skipped'
164-
runs-on: ubuntu-24.04
160+
runs-on: ubuntu-slim
165161
env:
166162
DEPS_RESULT: ${{ needs.test-installation.result }}
167163
steps:
@@ -276,7 +272,7 @@ jobs:
276272
# discussions to create the release announcement in the discussion forums
277273
contents: write
278274
discussions: write
279-
runs-on: ubuntu-24.04
275+
runs-on: ubuntu-slim
280276
steps:
281277
- name: Download distribution files
282278
uses: actions/download-artifact@v8

.github/workflows/dco-merge-queue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55

66
jobs:
77
DCO:
8-
runs-on: ubuntu-latest
8+
runs-on: ubuntu-slim
99
if: ${{ github.actor != 'dependabot[bot]' }}
1010
steps:
1111
- run: echo "This DCO job runs on merge_queue event and doesn't check PR contents"

.github/workflows/labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
permissions:
88
contents: read
99
pull-requests: write
10-
runs-on: ubuntu-latest
10+
runs-on: ubuntu-slim
1111
steps:
1212
- name: Labeler
1313
# XXX: !!! SECURITY WARNING !!!

.github/workflows/release-notes-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ on:
1616
jobs:
1717
check-release-notes:
1818
name: Check release notes are updated
19-
runs-on: ubuntu-latest
19+
runs-on: ubuntu-slim
2020
steps:
2121
- name: Check for a release notes update
2222
if: github.event_name == 'pull_request'

.github/workflows/repo-config-migration.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
app-id: ${{ secrets.FREQUENZ_AUTO_DEPENDABOT_APP_ID }}
4848
private-key: ${{ secrets.FREQUENZ_AUTO_DEPENDABOT_APP_PRIVATE_KEY }}
4949
- name: Migrate
50-
uses: frequenz-floss/gh-action-dependabot-migrate@b389f72f9282346920150a67495efbae450ac07b # v1.1.0
50+
uses: frequenz-floss/gh-action-dependabot-migrate@07dc7e74726498c50726a80cc2167a04d896508f # v1.0.0
5151
with:
5252
script-url-template: >-
5353
https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/{version}/cookiecutter/migrate.py

pyproject.toml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55
requires = [
66
"setuptools == 80.9.0",
77
"setuptools_scm[toml] == 9.2.2",
8-
"frequenz-repo-config[lib] == 0.14.0",
8+
"frequenz-repo-config[lib] == 0.17.0",
99
]
1010
build-backend = "setuptools.build_meta"
1111

1212
[project]
1313
name = "frequenz-channels"
1414
description = "Channel implementations for Python"
1515
readme = "README.md"
16-
license = { text = "MIT" }
16+
license = "MIT"
17+
license-files = ["LICENSE"]
1718
keywords = ["frequenz", "python", "lib", "library", "channels", "channel"]
1819
classifiers = [
1920
"Development Status :: 5 - Production/Stable",
2021
"Intended Audience :: Developers",
21-
"License :: OSI Approved :: MIT License",
2222
"Programming Language :: Python :: 3",
2323
"Programming Language :: Python :: 3 :: Only",
2424
"Topic :: Software Development :: Libraries",
@@ -38,6 +38,7 @@ email = "floss@frequenz.com"
3838
[project.optional-dependencies]
3939
dev-flake8 = [
4040
"flake8 == 7.3.0",
41+
"flake8-datetimez == 20.10.0",
4142
"flake8-docstrings == 1.7.0",
4243
"flake8-pyproject == 1.2.4", # For reading the flake8 config from pyproject.toml
4344
"pydoclint == 0.7.6",
@@ -47,7 +48,7 @@ dev-formatting = ["black == 25.9.0", "isort == 7.0.0"]
4748
dev-mkdocs = [
4849
"Markdown == 3.9",
4950
"black == 25.9.0",
50-
"frequenz-repo-config[lib] == 0.14.0",
51+
"frequenz-repo-config[lib] == 0.17.0",
5152
"markdown-callouts == 0.4.0",
5253
"markdown-svgbob == 202406.1023",
5354
"mike == 2.1.4",
@@ -67,15 +68,15 @@ dev-mypy = [
6768
"mypy == 1.18.2",
6869
"types-Markdown == 3.9.0.20250906",
6970
]
70-
dev-noxfile = ["nox == 2025.10.16", "frequenz-repo-config[lib] == 0.14.0"]
71+
dev-noxfile = ["nox == 2025.10.16", "frequenz-repo-config[lib] == 0.17.0"]
7172
dev-pylint = [
7273
# For checking the noxfile, docs/ script, and tests
7374
"frequenz-channels[dev-mkdocs,dev-noxfile,dev-pytest]",
7475
"pylint == 4.0.5",
7576
]
7677
dev-pytest = [
7778
"async-solipsism == 0.9",
78-
"frequenz-repo-config[extra-lint-examples] == 0.14.0",
79+
"frequenz-repo-config[extra-lint-examples] == 0.17.0",
7980
"hypothesis == 6.143.0",
8081
"pytest == 8.4.2",
8182
"pytest-asyncio == 1.1.0",

0 commit comments

Comments
 (0)