Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
"extensions": [
// basic tooling
// "eamodio.gitlens@15.5.1",
"coderabbit.coderabbit-vscode@0.15.2",
"coderabbit.coderabbit-vscode@0.16.0",
"ms-vscode.live-server@0.5.2025051301",
"MS-vsliveshare.vsliveshare@1.0.5905",
"github.copilot@1.388.0",
"github.copilot-chat@0.33.2025102701",
"github.copilot-chat@0.34.2025112401",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify the GitHub Copilot Chat extension version exists.

Please verify that GitHub Copilot Chat extension version 0.34.2025112401 exists:


🌐 Web query:

GitHub Copilot Chat VS Code extension version 0.34.2025112401

💡 Result:

I couldn't find any official record of version 0.34.2025112401. The latest published Copilot Chat builds I found are 0.34.2025112102 (listed on a VSIX mirror) and nearby 0.34.2025111403; the extension repo and Marketplace are the authoritative sources to check for a new release. [1][2]

  • Repo / general info: microsoft/vscode-copilot-chat on GitHub. [1]
  • VSIX listing showing 0.34.2025112102 (latest mirror listing). [2]

If you want, I can check the VS Code Marketplace or fetch the extension manifest now and confirm whether 0.34.2025112401 is available.


Let me search for more definitive information from the authoritative sources.

Update devcontainer.json to use an available version of GitHub Copilot Chat.

The latest available version of GitHub Copilot Chat is 0.34.2025111403 (updated November 15, 2025). The pinned version 0.34.2025112401 does not exist and will cause the devcontainer configuration to fail. Update to 0.34.2025111403 or remove the version pin to use the latest automatically.

🤖 Prompt for AI Agents
In .devcontainer/devcontainer.json around line 28, the pinned extension version
"github.copilot-chat@0.34.2025112401" does not exist and will break the
devcontainer; replace it with the valid version
"github.copilot-chat@0.34.2025111403" or remove the version suffix entirely (use
"github.copilot-chat") so the devcontainer uses the available/latest extension;
update the JSON string accordingly and validate the file is still valid JSON.

// Python
"ms-python.python@2025.13.2025090201",
"ms-python.vscode-pylance@2025.7.102",
Expand Down Expand Up @@ -61,5 +61,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): 43411b4a # spellchecker:disable-line
// Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): 876c1d76 # spellchecker:disable-line
}
6 changes: 3 additions & 3 deletions .devcontainer/install-ci-tooling.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
import subprocess
import sys

UV_VERSION = "0.9.7"
COPIER_VERSION = "9.10.3"
UV_VERSION = "0.9.11"
COPIER_VERSION = "9.11.0"
COPIER_TEMPLATE_EXTENSIONS_VERSION = "0.3.3"
PRE_COMMIT_VERSION = "4.3.0"
PRE_COMMIT_VERSION = "4.5.0"
GITHUB_WINDOWS_RUNNER_BIN_PATH = r"C:\Users\runneradmin\.local\bin"
parser = argparse.ArgumentParser(description="Install CI tooling for the repo")
_ = parser.add_argument(
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
python-version:
- 3.12.7
name: Pre-commit for Py${{ matrix.python-version }} on ${{ matrix.os }}
timeout-minutes: 8
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5.0.0
Expand Down Expand Up @@ -75,6 +76,7 @@ jobs:
'--data-file tests/copier_data/data2.yaml',
]
runs-on: ${{ matrix.os }}
timeout-minutes: 8
env:
UV_PYTHON: ${{ matrix.python-version }}
permissions:
Expand Down Expand Up @@ -155,6 +157,7 @@ jobs:

required-check:
runs-on: ubuntu-24.04
timeout-minutes: 2
needs: [ lint-matrix ]
if: always()
permissions: {}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/tag-on-merge.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ jobs:
create-tag:
if: github.event.pull_request.merged == true
runs-on: ubuntu-24.04
timeout-minutes: 2
permissions:
contents: write
steps:
Expand Down
22 changes: 13 additions & 9 deletions extensions/context.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,29 +11,29 @@ class ContextUpdater(ContextHook):
@override
def hook(self, context: dict[Any, Any]) -> dict[Any, Any]:
# These are duplicated in the install-ci-tooling.py script in this repository
context["uv_version"] = "0.9.7"
context["pre_commit_version"] = "4.3.0"
context["uv_version"] = "0.9.11"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify that critical dependency versions are available and secure.

Multiple infrastructure and tooling versions have been updated. Ensure that the updated versions exist and are free from known vulnerabilities, particularly for critical tools.

Also applies to: 17-17, 20-20, 23-23, 28-29, 34-34, 36-36


🌐 Web query:

Latest versions of uv pre-commit copier pnpm pytest pulumi boto3 pydantic November 2025

💡 Result:

Here are the latest released versions (checked Nov 24, 2025):

  • uv — 0.9.11. [1]
  • pre-commit — 4.4.0. [2]
  • copier — 9.10.3. [3]
  • pnpm — 11.0.0-dev.1005 (latest listed build). [4]
  • pytest — 9.0.1. [5]
  • Pulumi (core/registry packages vary) — example: azure-native v3.10.1 (Pulumi registry shows v3.10.1 published Nov 7, 2025). Check specific Pulumi provider for exact package version. [6]
  • boto3 — 1.41.2. [7]
  • pydantic — 2.12.4. [8]

Sources: PyPI / project registries for each package above.


Fix non-existent dependency versions that will cause installation failures.

The following versions specified do not exist in package registries and must be corrected:

  • pre_commit_version: "4.5.0" should be "4.4.0" (lines 17)
  • copier_version: "9.11.0" should be "9.10.3" (lines 20)

Additionally, pnpm_version: "10.23.0" (line 23) is outdated; latest stable is 11.0.0-dev.1005. Verify if 10.23.0 is intentionally pinned for compatibility reasons.

🤖 Prompt for AI Agents
In extensions/context.py around lines 14–23, the pinned dependency versions are
incorrect or outdated: change pre_commit_version from "4.5.0" to "4.4.0" and
copier_version from "9.11.0" to "9.10.3"; for pnpm_version currently "10.23.0"
either update to the latest stable if intended (e.g., "11.0.0-dev.1005") or add
a comment explaining why 10.23.0 is pinned for compatibility and verify
installation succeeds; update the string literals accordingly and run a quick
install/test to confirm no registry errors.

context["pre_commit_version"] = "4.5.0"
# These also in pyproject.toml
context["copier_version"] = "9.10.3"
context["copier_version"] = "9.11.0"
context["copier_template_extensions_version"] = "0.3.3"
#######
context["pnpm_version"] = "10.21.0"
context["pnpm_version"] = "10.23.0"
# These are duplicated in the pyproject.toml of this repository
context["pyright_version"] = "1.1.407"
context["pytest_version"] = "9.0.0"
context["pytest_version"] = "9.0.1"
context["pytest_randomly_version"] = "4.0.1"
context["pytest_cov_version"] = "7.0.0"
#######
context["sphinx_version"] = "8.1.3"
context["pulumi_version"] = "3.206.0"
context["pulumi_aws_version"] = "7.11.0"
context["pulumi_version"] = "3.208.0"
context["pulumi_aws_version"] = "7.12.0"
context["pulumi_aws_native_version"] = "1.38.0"
context["pulumi_command_version"] = "1.1.3"
context["pulumi_github_version"] = "6.8.0"
context["pulumi_okta_version"] = "6.1.0"
context["boto3_version"] = "1.40.57"
context["boto3_version"] = "1.41.2"
context["ephemeral_pulumi_deploy_version"] = "0.0.5"
context["pydantic_version"] = "2.12.3"
context["pydantic_version"] = "2.12.4"
context["pyinstaller_version"] = "6.16.0"
context["setuptools_version"] = "80.7.1"
context["strawberry_graphql_version"] = "0.284.1"
Expand Down Expand Up @@ -102,6 +102,10 @@ def hook(self, context: dict[Any, Any]) -> dict[Any, Any]:
context["gha_pypi_publish"] = "v1.13.0"
context["gha_sleep"] = "v2.0.3"
context["gha_windows_runner"] = "windows-2025"
context["gha_short_timeout_minutes"] = "2"
context["gha_medium_timeout_minutes"] = "8"
context["gha_long_timeout_minutes"] = "15"
Comment on lines +105 to +107
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Consider documenting the timeout tier values and their intended use cases.

The three timeout tiers are defined here as the source of truth for all workflows. Adding inline comments explaining the intended use case for each tier would help future maintainers understand when to use short/medium/long timeouts.

Apply this diff to add documentation:

-        context["gha_short_timeout_minutes"] = "2"
-        context["gha_medium_timeout_minutes"] = "8"
-        context["gha_long_timeout_minutes"] = "15"
+        context["gha_short_timeout_minutes"] = "2"  # For simple operations: checkout, tag creation
+        context["gha_medium_timeout_minutes"] = "8"  # For linting, pre-commit, build/test
+        context["gha_long_timeout_minutes"] = "15"  # For deployments, complex operations
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
context["gha_short_timeout_minutes"] = "2"
context["gha_medium_timeout_minutes"] = "8"
context["gha_long_timeout_minutes"] = "15"
context["gha_short_timeout_minutes"] = "2" # For simple operations: checkout, tag creation
context["gha_medium_timeout_minutes"] = "8" # For linting, pre-commit, build/test
context["gha_long_timeout_minutes"] = "15" # For deployments, complex operations

context["gha_xlong_timeout_minutes"] = "45"
#######
context["debian_release_name"] = "bookworm"
context["alpine_image_version"] = "3.22"
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12.7"
dependencies = [
"pytest>=9.0.0",
"pytest>=9.0.1",
"pytest-cov>=7.0.0",
"pytest-randomly>=4.0.1",
"pyright[nodejs]>=1.1.407",
"copier>=9.10.2",
"copier>=9.11.0",
"copier-template-extensions>=0.3.3"
]
4 changes: 2 additions & 2 deletions template/.devcontainer/devcontainer.json.jinja-base
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@
"extensions": [
// basic tooling
// "eamodio.gitlens@15.5.1",
"coderabbit.coderabbit-vscode@0.15.2",
"coderabbit.coderabbit-vscode@0.16.0",
"ms-vscode.live-server@0.5.2025051301",
"MS-vsliveshare.vsliveshare@1.0.5905",
"github.copilot@1.388.0",
"github.copilot-chat@0.33.2025102701",{% endraw %}{% if install_claude_cli %}{% raw %}
"github.copilot-chat@0.34.2025112401",{% endraw %}{% if install_claude_cli %}{% raw %}
"anthropic.claude-code@2.0.27",{% endraw %}{% endif %}{% raw %}

// Python
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ permissions:
jobs:
build-image:
name: Build Docker Image
timeout-minutes: {% endraw %}{{ gha_long_timeout_minutes }}{% raw %}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

Verify timeout values are sufficient for mutex and Docker build operations.

The workflow now uses gha_long_timeout_minutes for the job timeout and gha_medium_timeout_minutes for the mutex step. Previous reviews indicated that gha_medium_timeout_minutes was set to 8 minutes, while the mutex previously had a fixed 30-minute timeout. Reducing the mutex timeout from 30 to 8 minutes could cause premature failures when multiple jobs are queued.

Ensure that:

  1. gha_medium_timeout_minutes is at least 30 minutes (to match the original mutex timeout)
  2. gha_long_timeout_minutes exceeds the mutex timeout plus sufficient buffer for Docker build operations (recommend 45+ minutes)

Run the following script to verify the timeout configuration:

Also applies to: 98-98


🏁 Script executed:

#!/bin/bash
# Description: Check timeout variable values in context files

echo "=== Checking timeout values in extensions/context.py ==="
rg -A2 -B2 'gha_short_timeout_minutes|gha_medium_timeout_minutes|gha_long_timeout_minutes' extensions/context.py

echo -e "\n=== Checking timeout values in template/extensions/context.py.jinja-base ==="
rg -A2 -B2 'gha_short_timeout_minutes|gha_medium_timeout_minutes|gha_long_timeout_minutes' template/extensions/context.py.jinja-base

echo -e "\n=== Checking if these variables were added/modified in this PR ==="
git diff main --no-index -- extensions/context.py template/extensions/context.py.jinja-base | grep -A2 -B2 'timeout_minutes' || echo "No diff available or variables not in diff"

Length of output: 2581


I need to examine the actual workflow file to understand which timeout is being used for the mutex step and what's at line 98.

Now I need to examine the actual workflow file to see how these timeouts are being used.

I need to check the workflow file directly to see which timeout is being used where.


---

🏁 Script executed:

```shell
#!/bin/bash
# Check the workflow file at lines 46 and 98 to see timeout usage
echo "=== Lines 40-55 of build-docker-image.yaml.jinja-base ==="
sed -n '40,55p' template/.github/reusable_workflows/build-docker-image.yaml.jinja-base

echo -e "\n=== Lines 92-105 of build-docker-image.yaml.jinja-base ==="
sed -n '92,105p' template/.github/reusable_workflows/build-docker-image.yaml.jinja-base

echo -e "\n=== Full file showing structure ==="
cat template/.github/reusable_workflows/build-docker-image.yaml.jinja-base | grep -n "timeout-minutes\|steps:" | head -20

Length of output: 2019


I need to check the git history to see if these timeout values were actually changed in this PR.


---

🏁 Script executed:

```shell
#!/bin/bash
# Check git history for changes to timeout values
echo "=== Git log showing changes to context.py ==="
git log --oneline -20 extensions/context.py

echo -e "\n=== Git show of previous version of gha_*_timeout_minutes ==="
git show HEAD:extensions/context.py | grep -A2 -B2 'gha_.*_timeout_minutes' || echo "Could not show previous version"

echo -e "\n=== Checking git status to see what changed ==="
git status extensions/context.py

echo -e "\n=== Git diff for timeout values ==="
git diff HEAD extensions/context.py | grep -A3 -B3 'timeout_minutes' || echo "No diff in working directory"

Length of output: 1255


I need to check what files were actually changed in this PR to understand the context better.


---

🏁 Script executed:

```shell
#!/bin/bash
# Check what changed in this PR branch compared to main
echo "=== Files changed in this PR (branch vs main) ==="
git diff --name-only main..HEAD

echo -e "\n=== Summary of changes ==="
git diff --stat main..HEAD

echo -e "\n=== Specific changes to workflow files ==="
git diff main..HEAD -- template/.github/reusable_workflows/build-docker-image.yaml.jinja-base | head -100

echo -e "\n=== Checking if timeout values changed from main ==="
git diff main..HEAD extensions/context.py | grep -A3 -B3 'timeout_minutes' || echo "No timeout_minutes changes in this PR"

Length of output: 3517


Update timeout values to prevent premature job failures under concurrent load.

Your PR reduces the mutex timeout from 30 minutes to 8 minutes (via gha_medium_timeout_minutes), and sets the job timeout to 15 minutes (via gha_long_timeout_minutes).

The current values are insufficient:

  • gha_medium_timeout_minutes = 8: Too short for queued jobs waiting to acquire the mutex lock. Original 30-minute timeout provided necessary buffer when multiple jobs are competing for the same lock.
  • gha_long_timeout_minutes = 15: Marginal for Docker build operations, which typically take 10-16 minutes. This leaves minimal buffer for variance or failures.

Update extensions/context.py:

  • Set gha_medium_timeout_minutes to at least 30 (to accommodate queued job wait times)
  • Set gha_long_timeout_minutes to at least 45 (to safely exceed mutex timeout plus Docker build duration)

The template variables will automatically propagate to all workflow files that reference them.

🤖 Prompt for AI Agents
In template/.github/reusable_workflows/build-docker-image.yaml.jinja-base around
line 46, the timeout values are set too low and risk premature job failures
under contention; update extensions/context.py to set gha_medium_timeout_minutes
to at least 30 and gha_long_timeout_minutes to at least 45 so the mutex wait and
Docker build have sufficient buffers, then regenerate or ensure the template
variables propagate to this workflow so the timeout-minutes uses the revised
values.

runs-on: {% endraw %}{{ gha_linux_runner }}{% raw %}
outputs:
artifact-name: ${{ steps.calculate-build-context-hash.outputs.image_name_no_slashes }}
Expand Down Expand Up @@ -94,7 +95,7 @@ jobs:
uses: ben-z/gh-action-mutex@{% endraw %}{{ gha_mutex }}{% raw %}
with:
branch: mutex-${{ inputs.repository }}-${{ inputs.image_name }}
timeout-minutes: 30 # this is the amount of time this action will wait to attempt to acquire the mutex lock before failing, e.g. if other jobs are queued up in front of it
timeout-minutes: {% endraw %}{{ gha_medium_timeout_minutes }}{% raw %} # this is the amount of time this action will wait to attempt to acquire the mutex lock before failing, e.g. if other jobs are queued up in front of it

- name: Test if docker image exists
if: ${{ inputs.push-role-name != 'no-push' }}
Expand Down
4 changes: 3 additions & 1 deletion template/.github/workflows/ci.yaml.jinja-base
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ jobs:
'--data-file tests/copier_data/data2.yaml',
]
runs-on: ${{ matrix.os }}
timeout-minutes: {% endraw %}{{ gha_medium_timeout_minutes }}{% raw %}
env:
UV_PYTHON: ${{ matrix.python-version }}
permissions:
Expand Down Expand Up @@ -105,7 +106,7 @@ jobs:
uses: ben-z/gh-action-mutex@{% endraw %}{{ gha_mutex }}{% raw %}
with:
branch: mutex-venv-${{ matrix.os }}-${{ matrix.python-version }}
timeout-minutes: 30 # this is the amount of time this action will wait to attempt to acquire the mutex lock before failing, e.g. if other jobs are queued up in front of it
timeout-minutes: {% endraw %}{{ gha_medium_timeout_minutes }}{% raw %} # this is the amount of time this action will wait to attempt to acquire the mutex lock before failing, e.g. if other jobs are queued up in front of it

- name: Cache Pre-commit hooks
uses: actions/cache@{% endraw %}{{ gha_cache }}{% raw %}
Expand All @@ -131,6 +132,7 @@ jobs:

required-check:
runs-on: {% endraw %}{{ gha_linux_runner }}{% raw %}
timeout-minutes: {% endraw %}{{ gha_short_timeout_minutes }}{% raw %}
needs: [ lint-matrix, get-values ]
permissions:
statuses: write # needed for updating status on Dependabot PRs
Expand Down
1 change: 1 addition & 0 deletions template/.github/workflows/get-values.yaml.jinja-base
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ permissions:
jobs:
get-values:
runs-on: {% endraw %}{{ gha_linux_runner }}{% raw %}
timeout-minutes: {% endraw %}{{ gha_short_timeout_minutes }}{% raw %}
outputs:
new-dependabot-sha: ${{ steps.update-hash.outputs.new-sha }}
dependabot-commit-created: ${{ steps.update-hash.outputs.commit-created }}
Expand Down
3 changes: 2 additions & 1 deletion template/.github/workflows/pre-commit.yaml.jinja-base
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ permissions:
jobs:
pre-commit:
runs-on: {% endraw %}{{ gha_linux_runner }}{% raw %}
timeout-minutes: {% endraw %}{{ gha_medium_timeout_minutes }}{% raw %}
name: Pre-commit
steps:
- name: Checkout code during push
Expand Down Expand Up @@ -55,7 +56,7 @@ jobs:
uses: ben-z/gh-action-mutex@{% endraw %}{{ gha_mutex }}{% raw %}
with:
branch: mutex-venv-{% endraw %}{{ gha_linux_runner }}{% raw %}-py${{ inputs.python-version }}-nodejs-${{ inputs.node-version }}
timeout-minutes: 30 # this is the amount of time this action will wait to attempt to acquire the mutex lock before failing, e.g. if other jobs are queued up in front of it
timeout-minutes: {% endraw %}{{ gha_medium_timeout_minutes }}{% raw %} # this is the amount of time this action will wait to attempt to acquire the mutex lock before failing, e.g. if other jobs are queued up in front of it

- name: Cache Pre-commit hooks
uses: actions/cache@{% endraw %}{{ gha_cache }}{% raw %}
Expand Down
4 changes: 4 additions & 0 deletions template/extensions/context.py.jinja-base
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ class ContextUpdater(ContextHook):
context["gha_sleep"] = "{{ gha_sleep }}"
context["gha_linux_runner"] = "{{ gha_linux_runner }}"
context["gha_windows_runner"] = "{{ gha_windows_runner }}"
context["gha_short_timeout_minutes"] = "{{ gha_short_timeout_minutes }}"
context["gha_medium_timeout_minutes"] = "{{ gha_medium_timeout_minutes }}"
context["gha_long_timeout_minutes"] = "{{ gha_long_timeout_minutes }}"
context["gha_xlong_timeout_minutes"] = "{{ gha_xlong_timeout_minutes }}"
Copy link

Copilot AI Nov 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing gha_xlong_timeout_minutes variable definition. This variable is defined in extensions/context.py (line 108) but is not included here, creating an inconsistency between the two files. Add:

context["gha_xlong_timeout_minutes"] = "{{ gha_xlong_timeout_minutes }}"
Suggested change
context["gha_xlong_timeout_minutes"] = "{{ gha_xlong_timeout_minutes }}"
context["gha_xlong_timeout_minutes"] = "{{ gha_xlong_timeout_minutes }}"
context["gha_xlong_timeout_minutes"] = "{{ gha_xlong_timeout_minutes }}"

Copilot uses AI. Check for mistakes.

context["py312_version"] = "{{ py312_version }}"
context["py313_version"] = "{{ py313_version }}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ permissions:
jobs:
pulumi:
runs-on: {% endraw %}{{ gha_linux_runner }}{% raw %}
timeout-minutes: {% endraw %}{{ gha_xlong_timeout_minutes }}{% raw %}
env:
IAC_GITHUB_API_TOKENS: ${{ secrets.iac-github-api-tokens }} # only used in non-enterprise situations when not using full fledged Secrets Manager
steps:
Expand All @@ -110,7 +111,7 @@ jobs:
uses: ben-z/gh-action-mutex@{% endraw %}{{ gha_mutex }}{% raw %}
with:
branch: mutex-pulumi-${{ inputs.PULUMI_STACK_NAME }}-${{ inputs.ADDITIONAL_MUTEX_SUFFIX }}
timeout-minutes: 30 # this is the amount of time this action will wait to attempt to acquire the mutex lock before failing, e.g. if other jobs are queued up in front of it
timeout-minutes: {% endraw %}{{ gha_long_timeout_minutes }}{% raw %} # this is the amount of time this action will wait to attempt to acquire the mutex lock before failing, e.g. if other jobs are queued up in front of it

- name: Pulumi Initial Destroy to cleanup any leftovers
uses: ./.github/actions/pulumi_ephemeral_deploy
Expand Down
16 changes: 8 additions & 8 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.