diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e8a9d2b..abef176 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,8 +15,10 @@ on: required: true env: - PIP_NO_OPTION: on + PDM_CHECK_UPDATE: False + PIP_DISABLE_PIP_VERSION_CHECK: on PIP_NO_CLEAN: on + PIP_NO_INPUT: on PIP_PREFER_BINARY: on permissions: @@ -84,6 +86,7 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 1 + ref: ${{ needs.release.outputs.tag }} - name: Cache requirements uses: actions/cache@v4 @@ -106,6 +109,5 @@ jobs: - name: Build wheel and sdist distros and create a github release env: GH_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} - PDM_CHECK_UPDATE: False run: | gh release create ${{ needs.release.outputs.tag }} --generate-notes --latest --verify-tag diff --git a/.github/workflows/renovatebot.yml b/.github/workflows/renovatebot.yml index 7a1af58..17d6e10 100644 --- a/.github/workflows/renovatebot.yml +++ b/.github/workflows/renovatebot.yml @@ -22,7 +22,7 @@ jobs: fetch-depth: 1 - name: Run renovatebot - uses: renovatebot/github-action@v41.0.2 + uses: renovatebot/github-action@v41.0.8 env: RENOVATE_GIT_PRIVATE_KEY: ${{ secrets.GPG_SIGNING_KEY }} RENOVATE_REPOSITORIES: "robert-koch-institut/mex-template" diff --git a/CHANGELOG.md b/CHANGELOG.md index f285852..efd87b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,16 +24,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - constrain dev-dependencies only to major/minor versions, to limit renovate noise - title-case readme headings for a more professional look - use commit-signing flow from mex-release +- optimize pip and pdm environment variables +- bump year in license files to 2025 ### Deprecated ### Removed - remove black dependency and pre-commit hook +- remove wheel dependency from requirements.txt ### Fixed - remove --no-editable flag to avoid installing local package into venv +- build correct package versions in release pipeline ### Security diff --git a/LICENSE b/LICENSE index 25955ae..0d52b13 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Robert Koch-Institut +Copyright (c) 2025 Robert Koch-Institut Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/mex-{{ cookiecutter.project_name }}/.github/workflows/cookiecutter.yml b/mex-{{ cookiecutter.project_name }}/.github/workflows/cookiecutter.yml index 8cb7fa4..5123308 100644 --- a/mex-{{ cookiecutter.project_name }}/.github/workflows/cookiecutter.yml +++ b/mex-{{ cookiecutter.project_name }}/.github/workflows/cookiecutter.yml @@ -13,8 +13,10 @@ concurrency: cancel-in-progress: true env: - PIP_NO_OPTION: on + PDM_CHECK_UPDATE: False + PIP_DISABLE_PIP_VERSION_CHECK: on PIP_NO_CLEAN: on + PIP_NO_INPUT: on PIP_PREFER_BINARY: on jobs: diff --git a/mex-{{ cookiecutter.project_name }}/.github/workflows/documentation.yml b/mex-{{ cookiecutter.project_name }}/.github/workflows/documentation.yml index 801fc7c..413f458 100644 --- a/mex-{{ cookiecutter.project_name }}/.github/workflows/documentation.yml +++ b/mex-{{ cookiecutter.project_name }}/.github/workflows/documentation.yml @@ -8,8 +8,10 @@ on: workflow_dispatch: env: - PIP_NO_OPTION: on + PDM_CHECK_UPDATE: False + PIP_DISABLE_PIP_VERSION_CHECK: on PIP_NO_CLEAN: on + PIP_NO_INPUT: on PIP_PREFER_BINARY: on permissions: diff --git a/mex-{{ cookiecutter.project_name }}/.github/workflows/linting.yml b/mex-{{ cookiecutter.project_name }}/.github/workflows/linting.yml index 97cdcfa..8a27392 100644 --- a/mex-{{ cookiecutter.project_name }}/.github/workflows/linting.yml +++ b/mex-{{ cookiecutter.project_name }}/.github/workflows/linting.yml @@ -12,8 +12,10 @@ on: workflow_dispatch: env: - PIP_NO_OPTION: on + PDM_CHECK_UPDATE: False + PIP_DISABLE_PIP_VERSION_CHECK: on PIP_NO_CLEAN: on + PIP_NO_INPUT: on PIP_PREFER_BINARY: on concurrency: diff --git a/mex-{{ cookiecutter.project_name }}/.github/workflows/release.yml b/mex-{{ cookiecutter.project_name }}/.github/workflows/release.yml index 02164d8..2f24cb0 100644 --- a/mex-{{ cookiecutter.project_name }}/.github/workflows/release.yml +++ b/mex-{{ cookiecutter.project_name }}/.github/workflows/release.yml @@ -15,8 +15,10 @@ on: required: true env: - PIP_NO_OPTION: on + PDM_CHECK_UPDATE: False + PIP_DISABLE_PIP_VERSION_CHECK: on PIP_NO_CLEAN: on + PIP_NO_INPUT: on PIP_PREFER_BINARY: on permissions: @@ -133,6 +135,7 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 1 + {% raw %}ref: ${{ needs.release.outputs.tag }}{% endraw %} - name: Cache requirements uses: actions/cache@v4 @@ -155,7 +158,6 @@ jobs: - name: Build wheel and sdist distros and create a github release env: {% raw %}GH_TOKEN: ${{ secrets.WORKFLOW_TOKEN }}{% endraw %} - PDM_CHECK_UPDATE: False run: | {% raw -%} gh release create ${{ needs.release.outputs.tag }} --generate-notes --latest --verify-tag diff --git a/mex-{{ cookiecutter.project_name }}/.github/workflows/renovatebot.yml b/mex-{{ cookiecutter.project_name }}/.github/workflows/renovatebot.yml index d5bd0dd..715d6a8 100644 --- a/mex-{{ cookiecutter.project_name }}/.github/workflows/renovatebot.yml +++ b/mex-{{ cookiecutter.project_name }}/.github/workflows/renovatebot.yml @@ -22,7 +22,7 @@ jobs: fetch-depth: 1 - name: Run renovatebot - uses: renovatebot/github-action@v41.0.2 + uses: renovatebot/github-action@v41.0.8 env: RENOVATE_GIT_PRIVATE_KEY: {% raw %}${{ secrets.GPG_SIGNING_KEY }}{% endraw %} RENOVATE_REPOSITORIES: "robert-koch-institut/mex-{{ cookiecutter.project_name }}" diff --git a/mex-{{ cookiecutter.project_name }}/.github/workflows/testing.yml b/mex-{{ cookiecutter.project_name }}/.github/workflows/testing.yml index 8468de4..06fe865 100644 --- a/mex-{{ cookiecutter.project_name }}/.github/workflows/testing.yml +++ b/mex-{{ cookiecutter.project_name }}/.github/workflows/testing.yml @@ -12,8 +12,10 @@ on: workflow_dispatch: env: - PIP_NO_OPTION: on + PDM_CHECK_UPDATE: False + PIP_DISABLE_PIP_VERSION_CHECK: on PIP_NO_CLEAN: on + PIP_NO_INPUT: on PIP_PREFER_BINARY: on concurrency: diff --git a/mex-{{ cookiecutter.project_name }}/.pre-commit-config.yaml b/mex-{{ cookiecutter.project_name }}/.pre-commit-config.yaml index ee8e3f2..d328f57 100644 --- a/mex-{{ cookiecutter.project_name }}/.pre-commit-config.yaml +++ b/mex-{{ cookiecutter.project_name }}/.pre-commit-config.yaml @@ -3,7 +3,7 @@ default_language_version: python: python3.11 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.7.3 + rev: v0.9.1 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] @@ -25,7 +25,7 @@ repos: - id: fix-byte-order-marker name: byte-order - repo: https://github.com/pdm-project/pdm - rev: 2.20.1 + rev: 2.22.2 hooks: - id: pdm-lock-check name: pdm diff --git a/mex-{{ cookiecutter.project_name }}/Dockerfile b/mex-{{ cookiecutter.project_name }}/Dockerfile index c74834a..c4a8d63 100644 --- a/mex-{{ cookiecutter.project_name }}/Dockerfile +++ b/mex-{{ cookiecutter.project_name }}/Dockerfile @@ -11,9 +11,10 @@ LABEL org.opencontainers.image.vendor="robert-koch-institut" ENV PYTHONUNBUFFERED=1 ENV PYTHONOPTIMIZE=1 -ENV PIP_PROGRESS_BAR=off -ENV PIP_PREFER_BINARY=on ENV PIP_DISABLE_PIP_VERSION_CHECK=on +ENV PIP_NO_INPUT: on +ENV PIP_PREFER_BINARY=on +ENV PIP_PROGRESS_BAR=off ENV MEX_{{ cookiecutter.project_name|upper }}_HOST=0.0.0.0 diff --git a/mex-{{ cookiecutter.project_name }}/LICENSE b/mex-{{ cookiecutter.project_name }}/LICENSE index 25955ae..0d52b13 100644 --- a/mex-{{ cookiecutter.project_name }}/LICENSE +++ b/mex-{{ cookiecutter.project_name }}/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Robert Koch-Institut +Copyright (c) 2025 Robert Koch-Institut Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/mex-{{ cookiecutter.project_name }}/pyproject.toml b/mex-{{ cookiecutter.project_name }}/pyproject.toml index 3163d90..407d07b 100644 --- a/mex-{{ cookiecutter.project_name }}/pyproject.toml +++ b/mex-{{ cookiecutter.project_name }}/pyproject.toml @@ -15,7 +15,7 @@ optional-dependencies.dev = [ "pytest-random-order>=1,<2", "pytest-xdist>=3,<4", "pytest>=8,<9", - "ruff>=0.7,<1", + "ruff>=0.9,<1", "sphinx>=8,<9", ] @@ -138,5 +138,5 @@ known-first-party = ["mex", "tests"] convention = "google" [build-system] -requires = ["pdm-backend==2.4.1"] +requires = ["pdm-backend==2.4.3"] build-backend = "pdm.backend" diff --git a/mex-{{ cookiecutter.project_name }}/requirements.txt b/mex-{{ cookiecutter.project_name }}/requirements.txt index 7470a61..b8007c0 100644 --- a/mex-{{ cookiecutter.project_name }}/requirements.txt +++ b/mex-{{ cookiecutter.project_name }}/requirements.txt @@ -1,5 +1,4 @@ -cruft==2.15.0 +cruft==2.16.0 mex-release==0.3.0 -pdm==2.20.1 +pdm==2.22.1 pre-commit==4.0.1 -wheel==0.45.0 diff --git a/requirements.txt b/requirements.txt index 7470a61..3eac021 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ -cruft==2.15.0 +cruft==2.16.0 mex-release==0.3.0 -pdm==2.20.1 +pdm==2.22.2 pre-commit==4.0.1 -wheel==0.45.0