diff --git a/.github/workflows/build-tests.yml b/.github/workflows/build-tests.yml index b7bbc02..bbf4ae4 100644 --- a/.github/workflows/build-tests.yml +++ b/.github/workflows/build-tests.yml @@ -8,6 +8,13 @@ name: Build Tests on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -50,6 +57,12 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + # The OVOS ecosystem ships pre-1.0 alphas and relies on prerelease floor-pins + # (pkg>=X.Ya1). pip honoured those transitively; uv's default mode does not when + # a package also has stable releases (e.g. ovos-PHAL's ovos-phal-plugin-ipgeo + # >=0.1.9a1, which has a coexisting stable 0.1.7). Allow prereleases so the + # floor-pins resolve as they did under pip — version caps still bound them. + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: build_tests: diff --git a/.github/workflows/coverage-pages.yml b/.github/workflows/coverage-pages.yml index a0d09ad..810fbf6 100644 --- a/.github/workflows/coverage-pages.yml +++ b/.github/workflows/coverage-pages.yml @@ -8,6 +8,13 @@ name: Coverage Pages on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -43,6 +50,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: coverage_pages: diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 8c672d5..356466e 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -2,6 +2,13 @@ name: Coverage Report on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -86,6 +93,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: coverage: diff --git a/.github/workflows/downstream-check.yml b/.github/workflows/downstream-check.yml index 58864cf..c6be69f 100644 --- a/.github/workflows/downstream-check.yml +++ b/.github/workflows/downstream-check.yml @@ -2,6 +2,13 @@ name: Downstream Dependency Check on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. package_name: type: string required: true @@ -38,6 +45,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: check_downstream: diff --git a/.github/workflows/intent-case-tests.yml b/.github/workflows/intent-case-tests.yml index 438c2bc..e4109df 100644 --- a/.github/workflows/intent-case-tests.yml +++ b/.github/workflows/intent-case-tests.yml @@ -21,6 +21,13 @@ name: Intent-Case Tests on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -110,6 +117,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: intent_case_tests: diff --git a/.github/workflows/license-check.yml b/.github/workflows/license-check.yml index 97cb03d..98d98cf 100644 --- a/.github/workflows/license-check.yml +++ b/.github/workflows/license-check.yml @@ -19,6 +19,13 @@ name: License Check on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -69,6 +76,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: license_tests: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3b2eb22..c7ca7b1 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -4,6 +4,13 @@ name: Lint on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -35,6 +42,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: lint: diff --git a/.github/workflows/locale-check.yml b/.github/workflows/locale-check.yml index ab3cc41..fc7fd61 100644 --- a/.github/workflows/locale-check.yml +++ b/.github/workflows/locale-check.yml @@ -5,6 +5,13 @@ name: Locale Build Check on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -25,6 +32,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: locale_check: diff --git a/.github/workflows/opm-check.yml b/.github/workflows/opm-check.yml index 832333b..c475b86 100644 --- a/.github/workflows/opm-check.yml +++ b/.github/workflows/opm-check.yml @@ -9,6 +9,13 @@ name: OPM Plugin Check on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -76,6 +83,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: opm_check: diff --git a/.github/workflows/ovoscope.yml b/.github/workflows/ovoscope.yml index ca28d67..3f0d3fa 100644 --- a/.github/workflows/ovoscope.yml +++ b/.github/workflows/ovoscope.yml @@ -28,6 +28,13 @@ name: Ovoscope End-to-End Tests on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -134,6 +141,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: ovoscope: diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index c628890..9c41583 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -8,6 +8,13 @@ name: Pip Audit on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -52,6 +59,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: pip_audit: diff --git a/.github/workflows/python-support.yml b/.github/workflows/python-support.yml index fda6ca4..3bb7ce4 100644 --- a/.github/workflows/python-support.yml +++ b/.github/workflows/python-support.yml @@ -12,6 +12,13 @@ name: Python Support on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -52,6 +59,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: check_compatibility: diff --git a/.github/workflows/spec-lint.yml b/.github/workflows/spec-lint.yml index 0833e32..b76cb90 100644 --- a/.github/workflows/spec-lint.yml +++ b/.github/workflows/spec-lint.yml @@ -8,6 +8,13 @@ name: Spec Lint on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -50,6 +57,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: spec_lint: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index de6c8ab..4ff5fac 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,6 +16,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: "allow" # OVOS ships pre-1.0 alphas; resolve prerelease floor-pins like pip did jobs: test: diff --git a/.github/workflows/tts-intelligibility.yml b/.github/workflows/tts-intelligibility.yml index 35ede2f..25a0909 100644 --- a/.github/workflows/tts-intelligibility.yml +++ b/.github/workflows/tts-intelligibility.yml @@ -18,6 +18,13 @@ name: TTS Intelligibility on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -75,6 +82,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: tts-intelligibility: diff --git a/.github/workflows/type-check.yml b/.github/workflows/type-check.yml index 1f48f60..fd5de6f 100644 --- a/.github/workflows/type-check.yml +++ b/.github/workflows/type-check.yml @@ -7,6 +7,13 @@ name: Type Check on: workflow_call: inputs: + uv_prerelease: + type: string + default: "allow" + description: > + uv prerelease resolution mode (allow | if-necessary | explicit | + disallow). Defaults to "allow": the OVOS ecosystem ships pre-1.0 alphas + and relies on prerelease floor-pins resolving the way pip did. runner: type: string default: "ubuntu-latest" @@ -53,6 +60,7 @@ on: # uv installs into the setup-python interpreter (no venv on the runner) env: UV_SYSTEM_PYTHON: "1" + UV_PRERELEASE: ${{ inputs.uv_prerelease }} jobs: type_check: