Skip to content

Commit 2b6ba10

Browse files
authored
Update repo-conf (#295)
- **Update repo-config to 0.12.3** - **Update to repo-config 0.13.1**
2 parents 6a8452e + 5d0f189 commit 2b6ba10

File tree

4 files changed

+283
-142
lines changed

4 files changed

+283
-142
lines changed

.github/dependabot.yml

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,43 @@ updates:
1313
versioning-strategy: auto
1414
# Allow up to 10 open pull requests for updates to dependency versions
1515
open-pull-requests-limit: 10
16-
# We group production and development ("optional" in the context of
17-
# pyproject.toml) dependency updates when they are patch and minor updates,
18-
# so we end up with less PRs being generated.
19-
# Major updates are still managed, but they'll create one PR per
20-
# dependency, as major updates are expected to be breaking, it is better to
21-
# manage them individually.
16+
# We group patch updates as they should always work.
17+
# We also group minor updates, as it works too for most libraries,
18+
# typically except libraries that don't have a stable release yet (v0.x.x
19+
# branch), so we make some exceptions for them.
20+
# Major updates and dependencies excluded by the above groups are still
21+
# managed, but they'll create one PR per dependency, as breakage is
22+
# expected, so it might need manual intervention.
23+
# Finally, we group some dependencies that are related to each other, and
24+
# usually need to be updated together.
2225
groups:
23-
required:
24-
dependency-type: "production"
26+
patch:
2527
update-types:
26-
- "minor"
2728
- "patch"
28-
optional:
29-
dependency-type: "development"
29+
exclude-patterns:
30+
# pydoclint has shipped breaking changes in patch updates often
31+
- "pydoclint"
32+
minor:
3033
update-types:
3134
- "minor"
32-
- "patch"
35+
exclude-patterns:
36+
- "async-solipsism"
37+
- "frequenz-repo-config*"
38+
- "markdown-callouts"
39+
- "mkdocs-gen-files"
40+
- "mkdocs-literate-nav"
41+
- "mkdocstrings*"
42+
- "pydoclint"
43+
- "pytest-asyncio"
44+
# We group repo-config updates as it uses optional dependencies that are
45+
# considered different dependencies otherwise, and will create one PR for
46+
# each if we don't group them.
47+
repo-config:
48+
patterns:
49+
- "frequenz-repo-config*"
50+
mkdocstrings:
51+
patterns:
52+
- "mkdocstrings*"
3353

3454
- package-ecosystem: "github-actions"
3555
directory: "/"

.github/workflows/ci-pr.yaml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Test PR
2+
3+
on:
4+
pull_request:
5+
6+
env:
7+
# Please make sure this version is included in the `matrix`, as the
8+
# `matrix` section can't use `env`, so it must be entered manually
9+
DEFAULT_PYTHON_VERSION: '3.11'
10+
# It would be nice to be able to also define a DEFAULT_UBUNTU_VERSION
11+
# but sadly `env` can't be used either in `runs-on`.
12+
13+
jobs:
14+
protolint:
15+
name: Check proto files with protolint
16+
runs-on: ubuntu-24.04
17+
18+
steps:
19+
- name: Setup Git
20+
uses: frequenz-floss/[email protected]
21+
22+
- name: Fetch sources
23+
uses: actions/checkout@v3
24+
with:
25+
submodules: true
26+
27+
- name: Run protolint
28+
# Only use hashes here, as we are passing the github token, we want to
29+
# make sure updates are done consciously to avoid security issues if the
30+
# action repo gets hacked
31+
uses: yoheimuta/action-protolint@e62319541dc5107df5e3a5010acb8987004d3d25 # v1.3.0
32+
with:
33+
fail_on_error: true
34+
filter_mode: nofilter
35+
github_token: ${{ secrets.github_token }}
36+
protolint_flags: proto/
37+
protolint_version: "0.52.0"
38+
reporter: github-check
39+
40+
nox:
41+
name: Test with nox
42+
runs-on: ubuntu-24.04
43+
44+
steps:
45+
- name: Run nox
46+
uses: frequenz-floss/[email protected]
47+
with:
48+
python-version: "3.11"
49+
nox-session: ci_checks_max
50+
51+
test-docs:
52+
name: Test documentation website generation
53+
runs-on: ubuntu-24.04
54+
steps:
55+
- name: Setup Git
56+
uses: frequenz-floss/[email protected]
57+
58+
- name: Fetch sources
59+
uses: actions/checkout@v4
60+
with:
61+
submodules: true
62+
63+
- name: Setup Python
64+
uses: frequenz-floss/[email protected]
65+
with:
66+
python-version: ${{ env.DEFAULT_PYTHON_VERSION }}
67+
dependencies: .[dev-mkdocs]
68+
69+
- name: Generate the documentation
70+
env:
71+
MIKE_VERSION: gh-${{ github.job }}
72+
run: |
73+
mike deploy $MIKE_VERSION
74+
mike set-default $MIKE_VERSION
75+
76+
- name: Upload site
77+
uses: actions/upload-artifact@v4
78+
with:
79+
name: docs-site
80+
path: site/
81+
if-no-files-found: error

0 commit comments

Comments
 (0)