From 87f5cfff59dc6a70dcf0fff28c179c19c3fb2f4d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 12:09:31 +0000 Subject: [PATCH 1/2] Bump the required group with 9 updates Bumps the required group with 9 updates: | Package | From | To | | --- | --- | --- | | [pydoclint](https://github.com/jsh9/pydoclint) | `0.5.3` | `0.5.6` | | [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.5.27` | `9.5.30` | | [mkdocstrings[python]](https://github.com/mkdocstrings/mkdocstrings) | `0.25.1` | `0.25.2` | | [frequenz-repo-config[lib]](https://github.com/frequenz-floss/frequenz-repo-config-python) | `0.9.2` | `0.10.0` | | [mypy](https://github.com/python/mypy) | `1.10.1` | `1.11.1` | | [pylint](https://github.com/pylint-dev/pylint) | `3.2.5` | `3.2.6` | | [pytest](https://github.com/pytest-dev/pytest) | `8.2.2` | `8.3.2` | | [frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python) | `0.9.2` | `0.10.0` | | [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.23.7` | `0.23.8` | Updates `pydoclint` from 0.5.3 to 0.5.6 - [Release notes](https://github.com/jsh9/pydoclint/releases) - [Changelog](https://github.com/jsh9/pydoclint/blob/main/CHANGELOG.md) - [Commits](https://github.com/jsh9/pydoclint/compare/0.5.3...0.5.6) Updates `mkdocs-material` from 9.5.27 to 9.5.30 - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.27...9.5.30) Updates `mkdocstrings[python]` from 0.25.1 to 0.25.2 - [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases) - [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md) - [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.25.1...0.25.2) Updates `frequenz-repo-config[lib]` from 0.9.2 to 0.10.0 - [Release notes](https://github.com/frequenz-floss/frequenz-repo-config-python/releases) - [Changelog](https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.10.0/RELEASE_NOTES.md) - [Commits](https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.9.2...v0.10.0) Updates `mypy` from 1.10.1 to 1.11.1 - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](https://github.com/python/mypy/compare/v1.10.1...v1.11.1) Updates `pylint` from 3.2.5 to 3.2.6 - [Release notes](https://github.com/pylint-dev/pylint/releases) - [Commits](https://github.com/pylint-dev/pylint/compare/v3.2.5...v3.2.6) Updates `pytest` from 8.2.2 to 8.3.2 - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/8.2.2...8.3.2) Updates `frequenz-repo-config[extra-lint-examples]` from 0.9.2 to 0.10.0 - [Release notes](https://github.com/frequenz-floss/frequenz-repo-config-python/releases) - [Changelog](https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.10.0/RELEASE_NOTES.md) - [Commits](https://github.com/frequenz-floss/frequenz-repo-config-python/compare/v0.9.2...v0.10.0) Updates `pytest-asyncio` from 0.23.7 to 0.23.8 - [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases) - [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.23.7...v0.23.8) --- updated-dependencies: - dependency-name: pydoclint dependency-type: direct:production update-type: version-update:semver-patch dependency-group: required - dependency-name: mkdocs-material dependency-type: direct:production update-type: version-update:semver-patch dependency-group: required - dependency-name: mkdocstrings[python] dependency-type: direct:production update-type: version-update:semver-patch dependency-group: required - dependency-name: frequenz-repo-config[lib] dependency-type: direct:production update-type: version-update:semver-minor dependency-group: required - dependency-name: mypy dependency-type: direct:production update-type: version-update:semver-minor dependency-group: required - dependency-name: pylint dependency-type: direct:production update-type: version-update:semver-patch dependency-group: required - dependency-name: pytest dependency-type: direct:production update-type: version-update:semver-minor dependency-group: required - dependency-name: frequenz-repo-config[extra-lint-examples] dependency-type: direct:production update-type: version-update:semver-minor dependency-group: required - dependency-name: pytest-asyncio dependency-type: direct:production update-type: version-update:semver-patch dependency-group: required ... Signed-off-by: dependabot[bot] --- pyproject.toml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0ea39245..50c7d44f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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" @@ -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"] @@ -51,30 +51,30 @@ 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", + "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 = [ From b8aad58180ebb6a1a979cdf26477ec87aed18125 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Thu, 1 Aug 2024 16:53:49 +0200 Subject: [PATCH 2/2] Run migration script to upgrade to repo-config 0.10.0 Signed-off-by: Leandro Lucarella --- .../containers/test-installation/Dockerfile | 7 ++- .github/workflows/ci.yaml | 49 +++++++++++++++---- mkdocs.yml | 3 +- pyproject.toml | 5 ++ 4 files changed, 51 insertions(+), 13 deletions(-) diff --git a/.github/containers/test-installation/Dockerfile b/.github/containers/test-installation/Dockerfile index 4926f157..6ca61423 100644 --- a/.github/containers/test-installation/Dockerfile +++ b/.github/containers/test-installation/Dockerfile @@ -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 diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 605c696c..5100e1fa 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -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 @@ -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 @@ -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 @@ -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: @@ -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: @@ -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: @@ -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: diff --git a/mkdocs.yml b/mkdocs.yml index 0e118e8b..b4eeae96 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -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 @@ -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 diff --git a/pyproject.toml b/pyproject.toml index 50c7d44f..b1099b6d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,6 +53,7 @@ dev-mkdocs = [ "mkdocs-macros-plugin == 1.0.5", "mkdocs-material == 9.5.30", "mkdocstrings[python] == 0.25.2", + "mkdocstrings-python == 1.9.2", "frequenz-repo-config[lib] == 0.10.0", ] dev-mypy = [ @@ -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", ]