Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
59 changes: 31 additions & 28 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,42 +13,45 @@ updates:
versioning-strategy: auto
# Allow up to 10 open pull requests for updates to dependency versions
open-pull-requests-limit: 10
# We group production and development ("optional" in the context of
# pyproject.toml) dependency updates when they are patch and minor updates,
# so we end up with less PRs being generated.
# Major updates are still managed, but they'll create one PR per
# dependency, as major updates are expected to be breaking, it is better to
# manage them individually.
# We exclude the `frequenz-repo-config` package from grouping as this
# dependency is still under development (at branch v0.x.x), so minor
# changes typically introduce breaking changes (and patch updates can
# potentially too according to semver).
# We group patch updates as they should always work.
# We also group minor updates, as it works too for most libraries,
# typically except libraries that don't have a stable release yet (v0.x.x
# branch), so we make some exceptions for them.
# Major updates and dependencies excluded by the above groups are still
# managed, but they'll create one PR per dependency, as breakage is
# expected, so it might need manual intervention.
# Finally, we group some dependencies that are related to each other, and
# usually need to be updated together.
groups:
required:
dependency-type: "production"
patch:
update-types:
- "minor"
- "patch"
exclude-patterns:
- "frequenz-repo-config"
- "frequenz-client-base*"
- "frequenz-api-microgrid"
optional:
dependency-type: "development"
# pydoclint has shipped breaking changes in patch updates often
- "pydoclint"
minor:
update-types:
- "minor"
- "patch"
exclude-patterns:
- "frequenz-repo-config"
- "frequenz-client-base*"
- "frequenz-api-microgrid"
in-devel-patch:
- "async-solipsism"
- "frequenz-api-common"
- "frequenz-client-base"
- "frequenz-repo-config*"
- "markdown-callouts"
- "mkdocs-gen-files"
- "mkdocs-literate-nav"
- "mkdocstrings*"
- "pydoclint"
- "pytest-asyncio"
# We group repo-config updates as it uses optional dependencies that are
# considered different dependencies otherwise, and will create one PR for
# each if we don't group them.
repo-config:
patterns:
- "frequenz-client-base*"
- "frequenz-api-microgrid"
dependency-type: "production"
update-types:
- "patch"
- "frequenz-repo-config*"
mkdocstrings:
patterns:
- "mkdocstrings*"

- package-ecosystem: "github-actions"
directory: "/"
Expand Down
55 changes: 55 additions & 0 deletions .github/workflows/ci-pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Test PR

on:
pull_request:

env:
# Please make sure this version is included in the `matrix`, as the
# `matrix` section can't use `env`, so it must be entered manually
DEFAULT_PYTHON_VERSION: '3.11'
# It would be nice to be able to also define a DEFAULT_UBUNTU_VERSION
# but sadly `env` can't be used either in `runs-on`.

jobs:
nox:
name: Test with nox
runs-on: ubuntu-24.04

steps:
- name: Run nox
uses: frequenz-floss/[email protected]
with:
python-version: "3.11"
nox-session: ci_checks_max

test-docs:
name: Test documentation website generation
runs-on: ubuntu-24.04
steps:
- name: Setup Git
uses: frequenz-floss/[email protected]

- name: Fetch sources
uses: actions/checkout@v4
with:
submodules: true

- name: Setup Python
uses: frequenz-floss/[email protected]
with:
python-version: ${{ env.DEFAULT_PYTHON_VERSION }}
dependencies: .[dev-mkdocs]

- name: Generate the documentation
env:
MIKE_VERSION: gh-${{ github.job }}
run: |
mike deploy $MIKE_VERSION
mike set-default $MIKE_VERSION

- name: Upload site
uses: actions/upload-artifact@v4
with:
name: docs-site
path: site/
if-no-files-found: error
Loading