diff --git a/.copier-answers.yml b/.copier-answers.yml index 09431b180..13da8e94b 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: 5.0.2 +_commit: 5.4.0 _src_path: https://github.com/DiamondLightSource/python-copier-template author_email: gary.yendell@diamond.ac.uk author_name: Gary Yendell diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index c19b4cf6c..8932dadf4 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -24,4 +24,4 @@ It is recommended that developers use a [vscode devcontainer](https://code.visua This project was created using the [Diamond Light Source Copier Template](https://github.com/DiamondLightSource/python-copier-template) for Python projects. -For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/5.0.2/how-to.html). +For more information on common tasks like setting up a developer environment, running the tests, and setting a pre-commit hook, see the template's [How-to guides](https://diamondlightsource.github.io/python-copier-template/5.4.0/how-to.html). diff --git a/.github/workflows/_dist.yml b/.github/workflows/_dist.yml index 7b3ffcbd7..2847fed32 100644 --- a/.github/workflows/_dist.yml +++ b/.github/workflows/_dist.yml @@ -7,13 +7,13 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v7 with: # Need this to get version number from last tag fetch-depth: 0 - name: Install uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@v10.0.0 - name: Build sdist and wheel run: > @@ -21,7 +21,7 @@ jobs: uvx --from build pyproject-build - name: Upload sdist and wheel as artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: dist path: dist diff --git a/.github/workflows/_docs.yml b/.github/workflows/_docs.yml index 272a30f2c..6ee62d817 100644 --- a/.github/workflows/_docs.yml +++ b/.github/workflows/_docs.yml @@ -12,7 +12,7 @@ jobs: run: sleep 60 - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v7 with: # Need this to get version number from last tag fetch-depth: 0 @@ -21,7 +21,7 @@ jobs: run: sudo apt-get install graphviz - name: Install uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@v10.0.0 - name: Build docs run: uv run --locked tox -e docs @@ -30,7 +30,7 @@ jobs: run: rm build/html/.doctrees/environment.pickle - name: Upload built docs artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: docs path: build @@ -48,7 +48,7 @@ jobs: if: github.ref_type == 'tag' || github.ref_name == 'main' # We pin to the SHA, not the tag, for security reasons. # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions - uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0 + uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: .github/pages diff --git a/.github/workflows/_pypi.yml b/.github/workflows/_pypi.yml index fa78b9eae..22b772ba1 100644 --- a/.github/workflows/_pypi.yml +++ b/.github/workflows/_pypi.yml @@ -8,7 +8,7 @@ jobs: steps: - name: Download dist artifact - uses: actions/download-artifact@v5 + uses: actions/download-artifact@v8 with: name: dist path: dist diff --git a/.github/workflows/_release.yml b/.github/workflows/_release.yml index 15171d447..14b4b269a 100644 --- a/.github/workflows/_release.yml +++ b/.github/workflows/_release.yml @@ -7,7 +7,7 @@ jobs: steps: - name: Download artifacts - uses: actions/download-artifact@v5 + uses: actions/download-artifact@v8 with: merge-multiple: true @@ -23,7 +23,7 @@ jobs: - name: Create GitHub Release # We pin to the SHA, not the tag, for security reasons. # https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions - uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1 + uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2 with: prerelease: ${{ contains(github.ref_name, 'a') || contains(github.ref_name, 'b') || contains(github.ref_name, 'rc') }} files: "*" diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index 46cd49df6..8ebceb85b 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -21,19 +21,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v7 with: # Need this to get version number from last tag fetch-depth: 0 - name: Install uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@v10.0.0 - name: Run tests run: uv run --locked tox -e tests - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 + uses: codecov/codecov-action@v7 with: name: ${{ inputs.python-version }}/${{ inputs.runs-on }} files: cov.xml diff --git a/.github/workflows/_tox.yml b/.github/workflows/_tox.yml index 56eddd4e4..e7abe84ce 100644 --- a/.github/workflows/_tox.yml +++ b/.github/workflows/_tox.yml @@ -13,10 +13,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v7 - name: Install uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@v10.0.0 - name: Run tox run: uv run --locked tox -e ${{ inputs.tox }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 68174e760..a1398fed5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: runs-on: ["ubuntu-latest"] # can add windows-latest, macos-latest - python-version: ["3.11", "3.12", "3.13"] + python-version: ["3.11", "3.12", "3.13", "3.14"] fail-fast: false uses: ./.github/workflows/_test.yml with: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6e182dfb4..e7f246c76 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + rev: v6.0.0 hooks: - id: check-added-large-files exclude: ^uv.lock @@ -33,6 +33,6 @@ repos: files: ^(uv\.lock|pyproject\.toml)$ - repo: https://github.com/gitleaks/gitleaks - rev: v8.28.0 + rev: v8.30.1 hooks: - id: gitleaks diff --git a/Dockerfile b/Dockerfile index e8462413c..7b1d73450 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # The devcontainer should use the developer target and run as root with podman # or docker with user namespaces. -FROM ghcr.io/diamondlightsource/ubuntu-devcontainer:noble AS developer +FROM ghcr.io/diamondlightsource/ubuntu-devcontainer:resolute AS developer # Add any system dependencies for the developer/build environment here RUN apt-get update -y && apt-get install -y --no-install-recommends \ diff --git a/README.md b/README.md index 1aeda609b..360f9bc71 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,9 @@ # FastCS -Source | +What | Where :---: | :---: +Source | PyPI | `pip install fastcs` Documentation | Releases | diff --git a/pyproject.toml b/pyproject.toml index da948b3e6..cf27c255c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,6 +14,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] description = "Control system agnostic framework for building Device support in Python that will work for both EPICS and Tango" dependencies = [ @@ -44,9 +45,12 @@ all = ["fastcs[epics]", "fastcs[tango]", "fastcs[graphql]", "fastcs[rest]"] [dependency-groups] dev = [ +<<<<<<< before updating "copier", "fastcs[all]", "fastcs[demo]", +======= +>>>>>>> after updating "myst-parser", "pre-commit", "pydata-sphinx-theme>=0.12", diff --git a/renovate.json b/renovate.json index b78a2f870..8fc35a48d 100644 --- a/renovate.json +++ b/renovate.json @@ -32,6 +32,17 @@ "github-actions" ], "enabled": false + }, + { + "description": "Disable Dockerfile base images that are managed by python-copier-template", + "matchManagers": [ + "dockerfile" + ], + "matchDepNames": [ + "ubuntu", + "ghcr.io/diamondlightsource/ubuntu-devcontainer" + ], + "enabled": false } ] }