Skip to content

libdoc: regen template #2079

libdoc: regen template

libdoc: regen template #2079

name: Acceptance tests (CPython + PyPy)
on:
push:
branches:
- main
- master
- v*-maintenance
paths:
- '.github/workflows/**'
- 'src/**'
- 'atest/**'
- '!**/*.rst'
jobs:
test_using_builtin_python:
strategy:
fail-fast: false
matrix:
os: [ 'ubuntu-latest', 'windows-latest' ]
python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14', 'pypy-3.11' ]
include:
- os: ubuntu-latest
set_display: export DISPLAY=:99; Xvfb :99 -screen 0 1024x768x24 -ac -noreset & sleep 3
- os: windows-latest
set_codepage: chcp 850
exclude:
- os: windows-latest
python-version: 'pypy-3.11'
runs-on: ${{ matrix.os }}
name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Setup python for starting the tests
uses: actions/setup-python@v6.1.0
with:
python-version: '3.13'
architecture: 'x64'
- name: Get test starter Python at Windows
run: echo "ATEST_PYTHON=$((get-command python.exe).Path)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
if: runner.os == 'Windows'
- name: Get test starter Python
run: echo "ATEST_PYTHON=$(which python)" >> $GITHUB_ENV
if: runner.os != 'Windows'
- name: Setup python ${{ matrix.python-version }} for running the tests
uses: actions/setup-python@v6.1.0
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'
- name: Get test runner Python at Windows
run: echo "BASE_PYTHON=$((get-command python.exe).Path)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
if: runner.os == 'Windows'
- name: Get test runner Python
run: echo "BASE_PYTHON=$(which python)" >> $GITHUB_ENV
if: runner.os != 'Windows'
- name: Install Ubuntu PyPy dependencies
run: |
sudo apt-get update
sudo apt-get -y -q install libxslt-dev libxml2-dev
if: contains(matrix.python-version, 'pypy') && contains(matrix.os, 'ubuntu')
- name: Install screen and other required libraries to Linux
run: |
sudo apt-get update
sudo apt-get -y -q install xvfb scrot libxml2-dev libxslt1-dev
if: contains(matrix.os, 'ubuntu')
- name: Run acceptance tests
run: |
python -m pip install -r atest/requirements.txt
${{ env.ATEST_PYTHON }} -m pip install -r atest/requirements-run.txt
${{ matrix.set_codepage }}
${{ matrix.set_display }}
${{ env.ATEST_PYTHON }} atest/run.py --interpreter ${{ env.BASE_PYTHON }} --exclude no-ci ${{ matrix.atest_args }} atest/robot
- name: Archive acceptances test results
uses: actions/upload-artifact@v7
with:
name: at-results-${{ matrix.python-version }}-${{ matrix.os }}
path: atest/results
if: always() && job.status == 'failure'