Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
63 lines
2.2 KiB
YAML
63 lines
2.2 KiB
YAML
name: e2e-wheel
|
|
|
|
# Cross-OS end-to-end WIRING test (FPLAN-0239, P1 of DPLAN-0194).
|
|
# Builds the wheel, installs it into a clean venv (handled by the pytest
|
|
# fixtures in tests/e2e/conftest.py), and runs the 4-tier wiring ladder.
|
|
#
|
|
# RED-FIRST: Windows is EXPECTED to fail in known places (symlink init,
|
|
# bin-vs-Scripts, /tmp). Do not "fix" Windows here — the red is the deliverable.
|
|
|
|
on:
|
|
push:
|
|
branches: [main, dev]
|
|
paths:
|
|
- "tests/e2e/**"
|
|
- ".github/workflows/e2e-wheel.yml"
|
|
- "pyproject.toml"
|
|
- "src/**"
|
|
pull_request:
|
|
paths:
|
|
- "tests/e2e/**"
|
|
- ".github/workflows/e2e-wheel.yml"
|
|
- "pyproject.toml"
|
|
- "src/**"
|
|
workflow_dispatch:
|
|
|
|
# Least-privilege token (Scorecard Token-Permissions). This workflow only
|
|
# reads the repo to build + smoke-test the wheel; it needs no write scopes.
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
e2e-wheel:
|
|
name: e2e-wheel (${{ matrix.os }})
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
python-version: ["3.12"]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install build tooling
|
|
# Hash-pinned (Scorecard: Pinned-Dependencies). e2e.txt carries colorama
|
|
# explicitly — build/pytest need it only on Windows (os_name == "nt" /
|
|
# sys_platform == "win32"), and a Linux-generated lock would otherwise
|
|
# omit it and break the windows-latest leg under --require-hashes.
|
|
# See .github/requirements/e2e.in.
|
|
run: |
|
|
python -m pip install --require-hashes -r .github/requirements/pip.txt
|
|
python -m pip install --require-hashes -r .github/requirements/e2e.txt
|
|
|
|
- name: Run cross-OS e2e wiring harness
|
|
# conftest.py builds the wheel + clean venv internally; the outer env
|
|
# only needs build + pytest.
|
|
run: python -m pytest tests/e2e -v
|