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
7 changes: 5 additions & 2 deletions .github/containers/test-installation/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,8 @@ RUN apt-get update -y && \
python -m pip install --upgrade --no-cache-dir pip

COPY dist dist
RUN pip install dist/*.whl && \
rm -rf dist
# This git-credentials file is made available by the GitHub ci.yaml workflow
COPY git-credentials /root/.git-credentials
RUN git config --global credential.helper store && \
pip install dist/*.whl && \
rm -rf dist /root/.git-credentials
49 changes: 39 additions & 10 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ jobs:
runs-on: ${{ matrix.os }}

steps:
- name: Setup Git
uses: frequenz-floss/gh-action-setup-git@v0.x.x

- name: Print environment (debug)
run: env

Expand Down Expand Up @@ -88,10 +91,14 @@ jobs:
# The job name should match the name of the `nox` job.
name: Test with nox
needs: ["nox"]
# We skip this job only if nox was also skipped
if: always() && needs.nox.result != 'skipped'
runs-on: ubuntu-20.04
env:
DEPS_RESULT: ${{ needs.nox.result }}
steps:
- name: Return true
run: "true"
- name: Check matrix job result
run: test "$DEPS_RESULT" = "success"

nox-cross-arch:
name: Cross-arch tests with nox
Expand All @@ -115,6 +122,9 @@ jobs:
runs-on: ${{ matrix.os }}

steps:
- name: Setup Git
uses: frequenz-floss/gh-action-setup-git@v0.x.x

- name: Fetch sources
uses: actions/checkout@v4

Expand Down Expand Up @@ -200,15 +210,22 @@ jobs:
# The job name should match the name of the `nox-cross-arch` job.
name: Cross-arch tests with nox
needs: ["nox-cross-arch"]
# We skip this job only if nox-cross-arch was also skipped
if: always() && needs.nox-cross-arch.result != 'skipped'
runs-on: ubuntu-20.04
env:
DEPS_RESULT: ${{ needs.nox-cross-arch.result }}
steps:
- name: Return true
run: "true"
- name: Check matrix job result
run: test "$DEPS_RESULT" = "success"

build:
name: Build distribution packages
runs-on: ubuntu-20.04
steps:
- name: Setup Git
uses: frequenz-floss/gh-action-setup-git@v0.x.x

- name: Fetch sources
uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -241,17 +258,29 @@ jobs:
needs: ["build"]
runs-on: ubuntu-20.04
steps:
- name: Setup Git
uses: frequenz-floss/gh-action-setup-git@v0.x.x

- name: Fetch sources
uses: actions/checkout@v4

- name: Download package
uses: actions/download-artifact@v4
with:
name: dist-packages
path: dist

- name: Make Git credentials available to docker
run: |
touch ~/.git-credentials # Ensure the file exists
cp ~/.git-credentials git-credentials || true

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up docker-buildx
uses: docker/setup-buildx-action@v3

- name: Test Installation
uses: docker/build-push-action@v6
with:
Expand All @@ -266,14 +295,14 @@ jobs:
if: github.event_name != 'push'
runs-on: ubuntu-20.04
steps:
- name: Setup Git
uses: frequenz-floss/gh-action-setup-git@v0.x.x

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

- name: Setup Git user and e-mail
uses: frequenz-floss/setup-git-user@v2

- name: Set up Python
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -308,14 +337,14 @@ jobs:
permissions:
contents: write
steps:
- name: Setup Git
uses: frequenz-floss/gh-action-setup-git@v0.x.x

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

- name: Setup Git user and e-mail
uses: frequenz-floss/setup-git-user@v2

- name: Set up Python
uses: actions/setup-python@v5
with:
Expand Down
3 changes: 2 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ plugins:
- literate-nav:
nav_file: SUMMARY.md
- mike:
alias_type: redirect
alias_type: symlink
canonical_version: latest
- mkdocstrings:
default_handler: python
Expand All @@ -114,6 +114,7 @@ plugins:
show_root_members_full_path: true
show_signature_annotations: true
show_source: true
show_symbol_type_toc: true
signature_crossrefs: true
import:
# TODO(cookiecutter): You might want to add other external references here
Expand Down
27 changes: 16 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
requires = [
"setuptools == 68.1.0",
"setuptools_scm[toml] == 7.1.0",
"frequenz-repo-config[lib] == 0.9.2",
"frequenz-repo-config[lib] == 0.10.0",
]
build-backend = "setuptools.build_meta"

Expand Down Expand Up @@ -40,7 +40,7 @@ dev-flake8 = [
"flake8 == 7.1.0",
"flake8-docstrings == 1.7.0",
"flake8-pyproject == 1.2.3", # For reading the flake8 config from pyproject.toml
"pydoclint == 0.5.3",
"pydoclint == 0.5.6",
"pydocstyle == 6.3.0",
]
dev-formatting = ["black == 24.4.2", "isort == 5.13.2"]
Expand All @@ -51,30 +51,31 @@ dev-mkdocs = [
"mkdocs-gen-files == 0.5.0",
"mkdocs-literate-nav == 0.6.1",
"mkdocs-macros-plugin == 1.0.5",
"mkdocs-material == 9.5.27",
"mkdocstrings[python] == 0.25.1",
"frequenz-repo-config[lib] == 0.9.2",
"mkdocs-material == 9.5.30",
"mkdocstrings[python] == 0.25.2",
"mkdocstrings-python == 1.9.2",
"frequenz-repo-config[lib] == 0.10.0",
]
dev-mypy = [
"mypy == 1.10.1",
"mypy == 1.11.1",
"types-Markdown == 3.6.0.20240316",
# For checking the noxfile, docs/ script, and tests
"frequenz-client-common[dev-mkdocs,dev-noxfile,dev-pytest]",
]
dev-noxfile = [
"nox == 2024.4.15",
"frequenz-repo-config[lib] == 0.9.2",
"frequenz-repo-config[lib] == 0.10.0",
]
dev-pylint = [
"pylint == 3.2.5",
"pylint == 3.2.6",
# For checking the noxfile, docs/ script, and tests
"frequenz-client-common[dev-mkdocs,dev-noxfile,dev-pytest]",
]
dev-pytest = [
"pytest == 8.2.2",
"frequenz-repo-config[extra-lint-examples] == 0.9.2",
"pytest == 8.3.2",
"frequenz-repo-config[extra-lint-examples] == 0.10.0",
"pytest-mock == 3.14.0",
"pytest-asyncio == 0.23.7",
"pytest-asyncio == 0.23.8",
"async-solipsism == 0.6",
]
dev = [
Expand Down Expand Up @@ -131,10 +132,14 @@ disable = [
# pylint's unsubscriptable check is buggy and is not needed because
# it is a type-check, for which we already have mypy.
"unsubscriptable-object",
# Checked by mypy
"no-member",
# Checked by flake8
"f-string-without-interpolation",
"redefined-outer-name",
"unused-import",
"line-too-long",
"missing-function-docstring",
"unused-variable",
"unnecessary-lambda-assignment",
]
Expand Down