Skip to content

Commit 07d79a1

Browse files
Apply migration from 0.13.8 to 0.16.0
=== v0.14.0 ========================================================= Script URL: https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.14.0/cookiecutter/migrate.py ======================================================================== Creating Dependabot auto-merge workflow... Created/Updated Dependabot auto-merge workflow at .github/workflows/auto-dependabot.yaml ======================================================================== Disabling CODEOWNERS review requirement in GitHub ruleset... Default branch: v1.x.x Found ruleset ID: 4785229 CODEOWNERS review requirement already disabled. ======================================================================== Updating the mkdocs.yml for mkdocstrings-python v2 compatibility... ======================================================================== Migration script finished. Remember to follow any manual instructions. ======================================================================== === v0.15.0 ========================================================= Script URL: https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.15.0/cookiecutter/migrate.py ======================================================================== Migrating workflows to use ubuntu-slim runner for lightweight jobs... Updated .github/workflows/ci.yaml: migrated job nox-all to ubuntu-slim Updated .github/workflows/ci.yaml: migrated job test-installation-all to ubuntu-slim Updated .github/workflows/ci.yaml: migrated job create-github-release to ubuntu-slim Updated .github/workflows/ci.yaml: migrated job publish-to-pypi to ubuntu-slim Updated .github/workflows/release-notes-check.yml: migrated job check-release-notes to ubuntu-slim Updated .github/workflows/dco-merge-queue.yml: migrated job DCO to ubuntu-slim Updated .github/workflows/labeler.yml: migrated job Label to ubuntu-slim ======================================================================== Migrating pyproject license metadata to SPDX format... Updated pyproject.toml: migrated license metadata ======================================================================== Adding flake8-datetimez plugin to dev-flake8 dependencies... Updated pyproject.toml: added flake8-datetimez plugin ======================================================================== Fixing dependabot repo-config and mkdocstrings patterns... Skipped .github/dependabot.yml: repo-config patterns already updated Skipped .github/dependabot.yml: mkdocstrings patterns already updated Skipped .github/dependabot.yml (already up to date) ======================================================================== Migrating auto-dependabot workflow to use GitHub App token... Replacing .github/workflows/auto-dependabot.yaml with updated workflow (overwriting any local changes) ======================================================================== Migrating the CI workflows to use a platform matrix... - .github/workflows/ci.yaml Migrated arch+os matrix to platform ======================================================================== Installing repo-config migration workflow... Replacing .github/workflows/repo-config-migration.yaml with updated workflow (overwriting any local changes) Updated .github/workflows/auto-dependabot.yaml: added repo-config group exclusion ======================================================================== Updating 'Protect version branches' GitHub ruleset... Updated ruleset 'Protect version branches': add 'Migrate Repo Config' status check ======================================================================== ✅ Migration script finished successfully ✅ === v0.16.0 ========================================================= Script URL: https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/v0.16.0/cookiecutter/migrate.py ======================================================================== Fixing repo-config migration merge queue trigger... Updated .github/workflows/repo-config-migration.yaml: added merge_group trigger ======================================================================== Fixing mkdocstrings-python v2 paths for api repos... Skipping mkdocs.yml (not an api project) ======================================================================== Migrating protolint and publish-to-pypi runners to ubuntu-24.04... Skipping protolint runner migration (not an api project) Updated .github/workflows/ci.yaml: migrated runner for job publish-to-pypi ======================================================================== Updating 'Protect version branches' GitHub ruleset... Ruleset 'Protect version branches' is already up to date ======================================================================== ✅ Migration script finished successfully ✅ The migration completed successfully.
1 parent 01b6739 commit 07d79a1

File tree

7 files changed

+47
-28
lines changed

7 files changed

+47
-28
lines changed
Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,40 @@
1-
name: Dependabot Auto Manage
2-
on: pull_request
1+
name: Auto-merge Dependabot PR
2+
3+
on:
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:
313

414
permissions:
5-
contents: write
15+
contents: read
616
pull-requests: write
717

818
jobs:
9-
dependabot:
10-
runs-on: ubuntu-latest
11-
if: github.actor == 'dependabot[bot]'
19+
auto-merge:
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
1225
steps:
13-
- uses: frequenz-floss/dependabot-auto-approve@e943399cc9d76fbb6d7faae446cd57301d110165 # v1.5.0
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+
33+
- name: Auto-merge Dependabot PR
34+
uses: frequenz-floss/dependabot-auto-approve@e943399cc9d76fbb6d7faae446cd57301d110165 # v1.5.0
1435
with:
36+
github-token: ${{ steps.app-token.outputs.token }}
1537
dependency-type: 'all'
1638
auto-merge: 'true'
1739
merge-method: 'merge'
18-
add-label: 'auto-merged'
40+
add-label: 'tool:auto-merged'

.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@v7

.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'

mkdocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ plugins:
9999
default_handler: python
100100
handlers:
101101
python:
102+
paths: ["src"]
102103
options:
103-
paths: ["src"]
104104
docstring_section_style: spacy
105105
inherited_members: true
106106
merge_init_into_class: false
@@ -111,7 +111,7 @@ plugins:
111111
show_signature_annotations: true
112112
show_source: true
113113
signature_crossrefs: true
114-
import:
114+
inventories:
115115
- https://docs.python.org/3/objects.inv
116116
- https://typing-extensions.readthedocs.io/en/stable/objects.inv
117117
- https://frequenz-floss.github.io/frequenz-api-dispatch/v0.13/objects.inv

pyproject.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ build-backend = "setuptools.build_meta"
1313
name = "frequenz-client-dispatch"
1414
description = "Dispatch API client for Python"
1515
readme = "README.md"
16-
license = { text = "MIT" }
16+
license = "MIT"
17+
license-files = ["LICENSE"]
1718
keywords = [
1819
"frequenz",
1920
"python",
@@ -28,7 +29,6 @@ keywords = [
2829
classifiers = [
2930
"Development Status :: 3 - Alpha",
3031
"Intended Audience :: Developers",
31-
"License :: OSI Approved :: MIT License",
3232
"Programming Language :: Python :: 3",
3333
"Programming Language :: Python :: 3 :: Only",
3434
"Topic :: Software Development :: Libraries",
@@ -63,6 +63,7 @@ cli = [
6363

6464
dev-flake8 = [
6565
"flake8 == 7.3.0",
66+
"flake8-datetimez == 20.10.0",
6667
"flake8-docstrings == 1.7.0",
6768
"flake8-pyproject == 1.2.4", # For reading the flake8 config from pyproject.toml
6869
"pydoclint == 0.8.3",

0 commit comments

Comments
 (0)