-
Notifications
You must be signed in to change notification settings - Fork 58
55 lines (51 loc) · 1.74 KB
/
Copy pathinstall-smoke.yml
File metadata and controls
55 lines (51 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
name: install-smoke
# Installs precise FROM PyPI on a clean runner (no source checkout shadowing the import) and
# exercises the published wheel. Three triggers:
# * workflow_dispatch — on demand (override the install spec, e.g. precise==1.0.0rc1)
# * schedule — weekly drift canary: does `pip install precise` still work today?
# * workflow_run — right after a successful deploy (validates each release)
# Note: schedule/workflow_run only fire once this file is on the default branch.
on:
workflow_dispatch:
inputs:
spec:
description: "pip install spec"
default: "precise --pre"
schedule:
- cron: "0 6 * * 1" # Mondays 06:00 UTC
workflow_run:
workflows: ["deploy"]
types: [completed]
defaults:
run:
shell: bash # uniform across ubuntu/macos/windows runners
jobs:
smoke:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python: ["3.9", "3.11", "3.12", "3.13"]
include:
- os: macos-latest
python: "3.11"
- os: windows-latest
python: "3.11"
steps:
- name: Fetch the smoke script only (not the package source)
uses: actions/checkout@v4
with:
sparse-checkout: .github/smoke.py
sparse-checkout-cone-mode: false
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install precise from PyPI
run: |
python -m pip install --upgrade pip
SPEC="${{ github.event.inputs.spec || 'precise --pre' }}"
echo "installing: $SPEC"
python -m pip install $SPEC
- name: Smoke test the installed wheel
run: python .github/smoke.py