forked from robotframework/robotframework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathacceptance_tests_cpython_pr.yml
More file actions
78 lines (64 loc) · 2.59 KB
/
acceptance_tests_cpython_pr.yml
File metadata and controls
78 lines (64 loc) · 2.59 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: Acceptance tests (CPython)
on:
pull_request:
paths:
- '.github/workflows/**'
- 'src/**'
- 'atest/**'
- '!**/*.rst'
jobs:
test_using_builtin_python:
strategy:
fail-fast: true
matrix:
os: [ 'ubuntu-latest', 'windows-latest' ]
python-version: [ '3.8', '3.13' ]
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
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 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@v6
with:
name: at-results-${{ matrix.python-version }}-${{ matrix.os }}
path: atest/results
if: always() && job.status == 'failure'