Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 9 additions & 13 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,9 @@ jobs:
strategy:
fail-fast: false
matrix:
arch:
- amd64
- arm
os:
platform:
- ubuntu-24.04
- ubuntu-24.04-arm
python:
- "3.11"
- "3.12"
Expand All @@ -41,7 +39,7 @@ jobs:
# that uses the same venv to run multiple linting sessions
- "ci_checks_max"
- "pytest_min"
runs-on: ${{ matrix.os }}${{ matrix.arch != 'amd64' && format('-{0}', matrix.arch) || '' }}
runs-on: ${{ matrix.platform }}

steps:
- name: Run nox
Expand All @@ -60,7 +58,7 @@ jobs:
needs: ["nox"]
# We skip this job only if nox was also skipped
if: always() && needs.nox.result != 'skipped'
runs-on: ubuntu-24.04
runs-on: ubuntu-slim
env:
DEPS_RESULT: ${{ needs.nox.result }}
steps:
Expand Down Expand Up @@ -105,15 +103,13 @@ jobs:
strategy:
fail-fast: false
matrix:
arch:
- amd64
- arm
os:
platform:
- ubuntu-24.04
- ubuntu-24.04-arm
python:
- "3.11"
- "3.12"
runs-on: ${{ matrix.os }}${{ matrix.arch != 'amd64' && format('-{0}', matrix.arch) || '' }}
runs-on: ${{ matrix.platform }}

steps:
- name: Setup Git
Expand Down Expand Up @@ -161,7 +157,7 @@ jobs:
needs: ["test-installation"]
# We skip this job only if test-installation was also skipped
if: always() && needs.test-installation.result != 'skipped'
runs-on: ubuntu-24.04
runs-on: ubuntu-slim
env:
DEPS_RESULT: ${{ needs.test-installation.result }}
steps:
Expand Down Expand Up @@ -276,7 +272,7 @@ jobs:
# discussions to create the release announcement in the discussion forums
contents: write
discussions: write
runs-on: ubuntu-24.04
runs-on: ubuntu-slim
steps:
- name: Download distribution files
uses: actions/download-artifact@v8
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dco-merge-queue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

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

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}
2 changes: 1 addition & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- name: Labeler
# XXX: !!! SECURITY WARNING !!!
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-notes-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
jobs:
check-release-notes:
name: Check release notes are updated
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- name: Check for a release notes update
if: github.event_name == 'pull_request'
Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/repo-config-migration.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Automatically repo-config migrations for Dependabot PRs
# Automatic repo-config migrations for Dependabot PRs
#
# The companion auto-dependabot workflow skips repo-config group PRs so
# they're handled exclusively by the migration workflow.
Expand All @@ -19,6 +19,7 @@
name: Repo Config Migration

on:
merge_group: # To allow using this as a required check for merging
pull_request_target:
types: [opened, synchronize, reopened, labeled, unlabeled]

Expand All @@ -30,7 +31,13 @@ permissions:
jobs:
repo-config-migration:
name: Migrate Repo Config
if: contains(github.event.pull_request.title, 'the repo-config group')
# Skip if it was triggered by the merge queue. We only need the workflow to
# be executed to meet the "Required check" condition for merging, but we
# don't need to actually run the job, having the job present as Skipped is
# enough.
if: |
github.event_name == 'pull_request_target' &&
contains(github.event.pull_request.title, 'the repo-config group')
runs-on: ubuntu-24.04
steps:
- name: Generate token
Expand All @@ -40,13 +47,12 @@ jobs:
app-id: ${{ secrets.FREQUENZ_AUTO_DEPENDABOT_APP_ID }}
private-key: ${{ secrets.FREQUENZ_AUTO_DEPENDABOT_APP_PRIVATE_KEY }}
- name: Migrate
uses: frequenz-floss/gh-action-dependabot-migrate@init
uses: frequenz-floss/gh-action-dependabot-migrate@07dc7e74726498c50726a80cc2167a04d896508f # v1.0.0
with:
script-url-template: >-
https://raw.githubusercontent.com/frequenz-floss/frequenz-repo-config-python/{version}/cookiecutter/migrate.py
token: ${{ steps.create-app-token.outputs.token }}
migration-token: ${{ secrets.REPO_CONFIG_MIGRATION_TOKEN }}
auto-merge-on-changes: "true"
sign-commits: "true"
auto-merged-label: "tool:auto-merged"
migrated-label: "tool:repo-config:migration:executed"
Expand Down
13 changes: 7 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@
requires = [
"setuptools == 82.0.0",
"setuptools_scm[toml] == 9.2.2",
"frequenz-repo-config[lib] == 0.14.0",
"frequenz-repo-config[lib] == 0.16.0",
]
build-backend = "setuptools.build_meta"

[project]
name = "frequenz-client-microgrid"
description = "Microgrid API client for Python"
readme = "README.md"
license = { text = "MIT" }
license = "MIT"
license-files = ["LICENSE"]
keywords = [
"api",
"client",
Expand All @@ -27,7 +28,6 @@ keywords = [
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Internet",
Expand Down Expand Up @@ -55,6 +55,7 @@ email = "floss@frequenz.com"
[project.optional-dependencies]
dev-flake8 = [
"flake8 == 7.3.0",
"flake8-datetimez == 20.10.0",
"flake8-docstrings == 1.7.0",
"flake8-pyproject == 1.2.4", # For reading the flake8 config from pyproject.toml
"pydoclint == 0.8.3",
Expand All @@ -71,7 +72,7 @@ dev-mkdocs = [
"mkdocs-material == 9.7.3",
"mkdocstrings[python] == 1.0.3",
"mkdocstrings-python == 2.0.3",
"frequenz-repo-config[lib] == 0.14.0",
"frequenz-repo-config[lib] == 0.16.0",
]
dev-mypy = [
"mypy == 1.19.1",
Expand All @@ -81,15 +82,15 @@ dev-mypy = [
# For checking the noxfile, docs/ script, and tests
"frequenz-client-microgrid[dev-mkdocs,dev-noxfile,dev-pytest]",
]
dev-noxfile = ["nox == 2026.2.9", "frequenz-repo-config[lib] == 0.14.0"]
dev-noxfile = ["nox == 2026.2.9", "frequenz-repo-config[lib] == 0.16.0"]
dev-pylint = [
"pylint == 4.0.5",
# For checking the noxfile, docs/ script, and tests
"frequenz-client-microgrid[dev-mkdocs,dev-noxfile,dev-pytest]",
]
dev-pytest = [
"pytest == 9.0.2",
"frequenz-repo-config[extra-lint-examples] == 0.14.0",
"frequenz-repo-config[extra-lint-examples] == 0.16.0",
"pytest-mock == 3.15.1",
"pytest-asyncio == 1.3.0",
"async-solipsism == 0.9",
Expand Down
Loading