Skip to content

Commit 6cd1a9e

Browse files
👷 Add nightly workflow to run tests against CPython main branch (#1374)
1 parent 9f38ada commit 6cd1a9e

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Test CPython Nightly
2+
3+
on:
4+
schedule:
5+
- cron: "0 0 * * *"
6+
workflow_dispatch:
7+
8+
jobs:
9+
test-latest-python:
10+
runs-on: ubuntu-latest
11+
continue-on-error: true
12+
steps:
13+
- uses: actions/checkout@v5
14+
- name: Checkout CPython main
15+
uses: actions/checkout@v5
16+
with:
17+
repository: python/cpython
18+
ref: main
19+
path: ./.cpython
20+
- name: Install CPython build dependencies
21+
run: sudo apt-get update && sudo apt-get install -y build-essential pkg-config libssl-dev zlib1g-dev
22+
- name: Build CPython
23+
run: |
24+
cd ./.cpython
25+
./configure && make -j $(nproc)
26+
- name: Setup uv
27+
uses: astral-sh/setup-uv@v7
28+
with:
29+
version: "0.4.15"
30+
enable-cache: true
31+
cache-dependency-glob: |
32+
requirements**.txt
33+
pyproject.toml
34+
- name: Create venv with CPython
35+
run: uv venv --python ./.cpython/python .venv
36+
- name: Install Dependencies
37+
run: uv pip install -r requirements-tests.txt
38+
- name: Activate venv
39+
run: echo "$PWD/.venv/bin" >> $GITHUB_PATH
40+
- name: Lint
41+
run: bash scripts/lint.sh
42+
- run: mkdir coverage
43+
- run: bash ./scripts/test-files.sh
44+
- name: Test
45+
run: bash scripts/test.sh
46+
env:
47+
COVERAGE_FILE: coverage/.coverage.ubuntu-cpython-main
48+
CONTEXT: ubuntu-cpython-main
49+
- name: Store coverage files
50+
uses: actions/upload-artifact@v4
51+
with:
52+
name: coverage-ubuntu-cpython-main
53+
path: coverage
54+
include-hidden-files: true

0 commit comments

Comments
 (0)