From 8cdc143ac8b6dc58d4829b8caf66a6254344db58 Mon Sep 17 00:00:00 2001 From: Eli Fine Date: Thu, 21 Aug 2025 10:25:08 +0000 Subject: [PATCH 1/4] delete --- .../manual-setup-deps.sh.jinja-base | 53 ------------------- 1 file changed, 53 deletions(-) delete mode 100644 template/.devcontainer/manual-setup-deps.sh.jinja-base diff --git a/template/.devcontainer/manual-setup-deps.sh.jinja-base b/template/.devcontainer/manual-setup-deps.sh.jinja-base deleted file mode 100644 index 09a5ad71..00000000 --- a/template/.devcontainer/manual-setup-deps.sh.jinja-base +++ /dev/null @@ -1,53 +0,0 @@ -{% raw %}#!/usr/bin/env sh -# can pass in the full major.minor.patch version of python as an optional argument -# can set `--skip-lock` as optional argument to just install dependencies without verifying lock file -# can set `--optionally-lock` to check for a uv.lock file in the project directory and only respect the lock if it already exists (useful for initially instantiating the repository) (mutually exclusive with --skip-lock) - -set -ex - -# Ensure that uv won't use the default system Python -python_version="{% endraw %}{{ python_version }}{% raw %}" - -# Parse arguments -skip_lock=false -optionally_lock=false -while [ "$#" -gt 0 ]; do - case $1 in - --skip-lock) skip_lock=true ;; - --optionally-lock) optionally_lock=true ;; - *) python_version="${1:-$python_version}" ;; # Take the first non-flag argument as the input - esac - shift -done - -# Ensure that --skip-lock and --optionally-lock are mutually exclusive -if [ "$skip_lock" = "true" ] && [ "$optionally_lock" = "true" ]; then - echo "Error: --skip-lock and --optionally-lock cannot be used together." >&2 - exit 1 -fi - -export UV_PYTHON="$python_version" -export UV_PYTHON_PREFERENCE=only-system - -SCRIPT_DIR="$(dirname "$0")" -PROJECT_ROOT_DIR="$(realpath "$SCRIPT_DIR/..")" - -# If optionally_lock is set, decide whether to skip locking based on the presence of uv.lock -if [ "$optionally_lock" = "true" ]; then - if [ ! -f "$PROJECT_ROOT_DIR/uv.lock" ]; then - skip_lock=true - else - skip_lock=false - fi -fi - -{% endraw %}{% if python_package_registry is defined and python_package_registry == "AWS CodeArtifact" %}{% raw %} -. "$SCRIPT_DIR/code-artifact-auth.sh"{% endraw %}{% endif %}{% raw %} - -# Ensure that the lock file is in a good state -if [ "$skip_lock" = "false" ]; then - uv lock --check --directory "$PROJECT_ROOT_DIR" -fi - -uv sync $( [ "$skip_lock" = "false" ] && echo "--frozen" ) --directory "$PROJECT_ROOT_DIR" -uv pip list --directory "$PROJECT_ROOT_DIR"{% endraw %} From e21101a7d82b8b4b39da1dfa1176a315d6367134 Mon Sep 17 00:00:00 2001 From: Eli Fine Date: Thu, 21 Aug 2025 10:27:12 +0000 Subject: [PATCH 2/4] add output --- .../reusable_workflows/build-docker-image.yaml.jinja-base | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/template/.github/reusable_workflows/build-docker-image.yaml.jinja-base b/template/.github/reusable_workflows/build-docker-image.yaml.jinja-base index 70518f5b..0335a949 100644 --- a/template/.github/reusable_workflows/build-docker-image.yaml.jinja-base +++ b/template/.github/reusable_workflows/build-docker-image.yaml.jinja-base @@ -31,6 +31,10 @@ on: description: 'Should the image be saved as an artifact?' required: false default: false + outputs: + artifact-name: + description: 'The name of the uploaded artifact of the image tarball' + value: ${{ jobs.build-image.outputs.artifact-name }} permissions: id-token: write @@ -40,6 +44,8 @@ jobs: build-image: name: Build Docker Image runs-on: {% endraw %}{{ gha_linux_runner }}{% raw %} + outputs: + artifact-name: ${{ steps.calculate-build-context-hash.outputs.image_name_no_slashes }} steps: - name: Parse ECR URL if: ${{ inputs.push-role-name != 'no-push' }} From a0438193e71082e6e0b7fe51aa3a2bf66468a3c8 Mon Sep 17 00:00:00 2001 From: Eli Fine Date: Thu, 21 Aug 2025 10:28:50 +0000 Subject: [PATCH 3/4] vitest --- extensions/context.py | 1 + template/extensions/context.py.jinja-base | 1 + 2 files changed, 2 insertions(+) diff --git a/extensions/context.py b/extensions/context.py index 4d5fbf9d..599885f5 100644 --- a/extensions/context.py +++ b/extensions/context.py @@ -50,6 +50,7 @@ def hook(self, context: dict[Any, Any]) -> dict[Any, Any]: context["vue_version"] = "^3.5.18" context["vue_router_version"] = "^4.5.1" context["faker_version"] = "^9.9.0" + context["vitest_version"] = "^3.2.4" context["eslint_version"] = "^9.33.0" context["zod_version"] = "^4.0.17" context["nuxt_apollo_version"] = "5.0.0-alpha.15" diff --git a/template/extensions/context.py.jinja-base b/template/extensions/context.py.jinja-base index 81ea7c62..eb571a10 100644 --- a/template/extensions/context.py.jinja-base +++ b/template/extensions/context.py.jinja-base @@ -45,6 +45,7 @@ class ContextUpdater(ContextHook): context["vue_version"] = "{{ vue_version }}" context["vue_router_version"] = "{{ vue_router_version }}" context["faker_version"] = "{{ faker_version }}" + context["vitest_version"] = "{{ vitest_version }}" context["eslint_version"] = "{{ eslint_version }}" context["zod_version"] = "{{ zod_version }}" context["nuxt_apollo_version"] = "{{ nuxt_apollo_version }}" From 625243071e37e3ba363940c02cb97d8cd50387f4 Mon Sep 17 00:00:00 2001 From: Eli Fine Date: Thu, 21 Aug 2025 10:40:05 +0000 Subject: [PATCH 4/4] pyright --- .devcontainer/devcontainer.json | 2 +- extensions/context.py | 2 +- pyproject.toml | 2 +- uv.lock | 10 +++++----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index abd390df..2c15e79c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -59,5 +59,5 @@ "initializeCommand": "sh .devcontainer/initialize-command.sh", "onCreateCommand": "sh .devcontainer/on-create-command.sh", "postStartCommand": "sh .devcontainer/post-start-command.sh" - // Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): 08c28c62 # spellchecker:disable-line + // Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): c75f8c43 # spellchecker:disable-line } diff --git a/extensions/context.py b/extensions/context.py index 599885f5..7cab9512 100644 --- a/extensions/context.py +++ b/extensions/context.py @@ -19,7 +19,7 @@ def hook(self, context: dict[Any, Any]) -> dict[Any, Any]: ####### context["pnpm_version"] = "10.14.0" # These are duplicated in the pyproject.toml of this repository - context["pyright_version"] = "1.1.403" + context["pyright_version"] = "1.1.404" context["pytest_version"] = "8.4.1" context["pytest_randomly_version"] = "3.16.0" context["pytest_cov_version"] = "6.2.1" diff --git a/pyproject.toml b/pyproject.toml index f0861ca3..a1b5cc94 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ dependencies = [ "pytest>=8.4.0", "pytest-cov>=6.2.1", "pytest-randomly>=3.16.0", - "pyright[nodejs]>=1.1.403", + "pyright[nodejs]>=1.1.404", "copier>=9.8.0", "copier-template-extensions>=0.3.2" ] diff --git a/uv.lock b/uv.lock index 0aba9f11..6150bc56 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.12.7" [[package]] @@ -61,7 +61,7 @@ dependencies = [ requires-dist = [ { name = "copier", specifier = ">=9.8.0" }, { name = "copier-template-extensions", specifier = ">=0.3.2" }, - { name = "pyright", extras = ["nodejs"], specifier = ">=1.1.403" }, + { name = "pyright", extras = ["nodejs"], specifier = ">=1.1.404" }, { name = "pytest", specifier = ">=8.4.0" }, { name = "pytest-cov", specifier = ">=6.2.1" }, { name = "pytest-randomly", specifier = ">=3.16.0" }, @@ -358,15 +358,15 @@ wheels = [ [[package]] name = "pyright" -version = "1.1.403" +version = "1.1.404" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "nodeenv" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/f6/35f885264ff08c960b23d1542038d8da86971c5d8c955cfab195a4f672d7/pyright-1.1.403.tar.gz", hash = "sha256:3ab69b9f41c67fb5bbb4d7a36243256f0d549ed3608678d381d5f51863921104", size = 3913526, upload-time = "2025-07-09T07:15:52.882Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e2/6e/026be64c43af681d5632722acd100b06d3d39f383ec382ff50a71a6d5bce/pyright-1.1.404.tar.gz", hash = "sha256:455e881a558ca6be9ecca0b30ce08aa78343ecc031d37a198ffa9a7a1abeb63e", size = 4065679, upload-time = "2025-08-20T18:46:14.029Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/49/b6/b04e5c2f41a5ccad74a1a4759da41adb20b4bc9d59a5e08d29ba60084d07/pyright-1.1.403-py3-none-any.whl", hash = "sha256:c0eeca5aa76cbef3fcc271259bbd785753c7ad7bcac99a9162b4c4c7daed23b3", size = 5684504, upload-time = "2025-07-09T07:15:50.958Z" }, + { url = "https://files.pythonhosted.org/packages/84/30/89aa7f7d7a875bbb9a577d4b1dc5a3e404e3d2ae2657354808e905e358e0/pyright-1.1.404-py3-none-any.whl", hash = "sha256:c7b7ff1fdb7219c643079e4c3e7d4125f0dafcc19d253b47e898d130ea426419", size = 5902951, upload-time = "2025-08-20T18:46:12.096Z" }, ] [package.optional-dependencies]