diff --git a/taskcluster/config.yml b/taskcluster/config.yml index 4e47debc8..13ec564df 100644 --- a/taskcluster/config.yml +++ b/taskcluster/config.yml @@ -38,3 +38,13 @@ workers: implementation: docker-worker os: linux worker-type: linux-docker + t-windows: + provisioner: 'taskgraph-t' + implementation: generic-worker + os: windows + worker-type: win11-64-24h2 + t-mac: + provisioner: 'taskgraph-t' + implementation: generic-worker + os: macosx + worker-type: macos diff --git a/taskcluster/kinds/test/kind.yml b/taskcluster/kinds/test/kind.yml index a0833dbda..7039966ac 100644 --- a/taskcluster/kinds/test/kind.yml +++ b/taskcluster/kinds/test/kind.yml @@ -18,18 +18,14 @@ task-defaults: artifact_prefix: public retrigger: true code-review: true - worker-type: t-linux worker: - docker-image: {in-tree: python} max-run-time: 1800 env: - LC_ALL: "C" PYTHONUTF8: "0" PYTHONCOERCECLOCALE: "0" HGENCODING: "utf-8" treeherder: kind: test - platform: test/opt tier: 1 run: using: run-task @@ -37,23 +33,58 @@ task-defaults: use-caches: [checkout, uv] tasks: - unit: - description: "Run unit tests with py{matrix[python]}" + unit-linux: + description: "Run unit tests with py{matrix[python]} on Linux" matrix: set-name: "unit-py{matrix[python]}" substitution-fields: [description, run.command, treeherder, worker, attributes] python: ["314t", "314", "313", "312", "311", "310", "39"] attributes: python: "{matrix[python]}" + platform: linux + worker-type: t-linux worker: + docker-image: {in-tree: python} artifacts: - type: file path: "/builds/worker/artifacts/coverage" name: "public/coverage.py{matrix[python]}" env: + LC_ALL: "C" UV_PYTHON: "{matrix[python]}" treeherder: + platform: test-linux/opt symbol: unit(py{matrix[python]}) run: command: >- uv run coverage run --data-file /builds/worker/artifacts/coverage --context=py{matrix[python]} -m pytest -vv + + unit-win: + description: "Run unit tests with python on Windows" + attributes: + platform: windows + worker-type: t-windows + worker: + taskcluster-proxy: true + treeherder: + platform: test-win/opt + symbol: unit(py) + run: + command: >- + python3 -V && + powershell -ExecutionPolicy ByPass -c 'irm https://astral.sh/uv/install.ps1 | iex' && + .\\local\\bin\\uv.exe run -m pytest -vv + + unit-mac: + description: "Run unit tests with python on macOS" + attributes: + platform: mac + worker-type: t-mac + treeherder: + platform: test-mac/opt + symbol: unit(py) + run: + command: >- + python3 -V && + curl -LsSf https://astral.sh/uv/install.sh | sh && + uv run -m pytest -vv