From 1cc1134deb646dab42a7e4450ce80bb745bfb6cd Mon Sep 17 00:00:00 2001 From: Ollie Copping Date: Thu, 25 Jun 2026 13:42:55 +0100 Subject: [PATCH 1/2] Update copier template to 5.2.0 --- .copier-answers.yml | 2 +- .github/CONTRIBUTING.md | 2 +- .github/dependabot.yml | 28 ---------------------------- .github/workflows/_test.yml | 5 ----- .github/workflows/ci.yml | 4 +--- .pre-commit-config.yaml | 2 +- Dockerfile | 2 +- README.md | 3 ++- pyproject.toml | 3 ++- renovate.json | 36 ++++++++++++++++++++++++++++++++++++ 10 files changed, 45 insertions(+), 42 deletions(-) delete mode 100644 .github/dependabot.yml create mode 100644 renovate.json diff --git a/.copier-answers.yml b/.copier-answers.yml index 97a6d7e4..fda48ae9 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: 5.0.0a4 +_commit: 5.2.0 _src_path: gh:DiamondLightSource/python-copier-template author_email: oliver.copping@diamond.ac.uk author_name: Oliver Copping diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 492d9ed8..0207ff51 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.0a4/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.2.0/how-to.html). diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index d2c2a0d6..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,28 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" - groups: - actions: - patterns: - - "*" - commit-message: - prefix: "chore" - - - package-ecosystem: "pip" - directory: "/" - schedule: - interval: "weekly" - groups: - dev-dependencies: - patterns: - - "*" - commit-message: - prefix: "chore" diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index 41cb8bb0..2560c98f 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -9,9 +9,6 @@ on: type: string description: The runner to run this job on required: true - secrets: - CODECOV_TOKEN: - required: true env: # https://github.com/pytest-dev/pytest/issues/2042 @@ -41,5 +38,3 @@ jobs: with: name: ${{ inputs.python-version }}/${{ inputs.runs-on }} files: cov.xml - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 559e4c2f..e2ffe345 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,14 +18,12 @@ jobs: strategy: matrix: runs-on: ["ubuntu-latest"] # can add windows-latest, macos-latest - python-version: ["3.12", "3.13"] + python-version: ["3.12", "3.13", "3.14"] fail-fast: false uses: ./.github/workflows/_test.yml with: runs-on: ${{ matrix.runs-on }} python-version: ${{ matrix.python-version }} - secrets: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} dist: uses: ./.github/workflows/_dist.yml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index fdd068d7..09a2aa6f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,7 @@ repos: rev: v6.0.0 hooks: - id: check-added-large-files - args: ["--maxkb=1000"] # uv.lock is more than 500kB + exclude: ^uv.lock - id: check-yaml - id: check-merge-conflict - id: end-of-file-fixer diff --git a/Dockerfile b/Dockerfile index e8462413..7b1d7345 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 64de92fd..eb57b633 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,9 @@ A package for building Phoebus GUIs Techui-builder is a module for building and organising phoebus gui screens using a builder-ibek yaml description of an IOC, with a user created techui.yaml file containing a description of the screens the user wants to create. -Source | +What | Where :---: | :---: +Source | PyPI | `pip install techui-builder` Releases | diff --git a/pyproject.toml b/pyproject.toml index cb96eba8..91f8f227 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,6 +9,7 @@ description = "A package for building Phoebus GUIs" classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] urls = { GitHub = "https://github.com/DiamondLightSource/techui-builder" } authors = [ @@ -124,7 +125,7 @@ commands = [ [ "basedpyright", "--pythonpath", - ".venv/bin/python", + "{env:VIRTUAL_ENV}/bin/python", "src", "tests", { replace = "posargs", default = [ diff --git a/renovate.json b/renovate.json new file mode 100644 index 00000000..e7792a2e --- /dev/null +++ b/renovate.json @@ -0,0 +1,36 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ], + "lockFileMaintenance": { + "description": "Keep uv.lock up to date, merging if tests pass", + "enabled": true, + "automerge": true + }, + "packageRules": [ + { + "description": "Disable python version as that is managed by python-copier-template", + "matchManagers": [ + "pyenv" + ], + "enabled": false + }, + { + "description": "Disable github actions that are managed by python-copier-template", + "matchPackageNames": [ + "actions/checkout", + "astral-sh/setup-uv", + "actions/upload-artifact", + "actions/download-artifact", + "softprops/action-gh-release", + "codecov/codecov-action", + "pypa/gh-action-pypi-publish" + ], + "matchManagers": [ + "github-actions" + ], + "enabled": false + } + ] +} From f644eee6ed3814f632ae001f1f316c9a5cb0fba1 Mon Sep 17 00:00:00 2001 From: Ollie Copping Date: Thu, 25 Jun 2026 13:54:11 +0100 Subject: [PATCH 2/2] Remove lazygit install script Copier template 5.2.0 uses an ubuntu-devcontainer with lazygit pre-installed --- .devcontainer/install_lazygit.sh | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 .devcontainer/install_lazygit.sh diff --git a/.devcontainer/install_lazygit.sh b/.devcontainer/install_lazygit.sh deleted file mode 100644 index 269a0f09..00000000 --- a/.devcontainer/install_lazygit.sh +++ /dev/null @@ -1,8 +0,0 @@ -# Download and install latest lazygit binary -LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') -curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" -tar xf lazygit.tar.gz lazygit -install lazygit /usr/local/bin - -# Cleanup -rm lazygit.tar.gz lazygit