Bump actions/upload-artifact from 2 to 4 #1899
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Compile and test C++ package | |
on: | |
push: | |
branches: [ develop/main, develop/3.10 ] | |
pull_request: | |
branches: [ develop/main, develop/3.10 ] | |
env: | |
BUILD_TYPE: Release | |
jobs: | |
build-linux: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: ["3.10"] | |
dot-net-version: [ "7.0.100" ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Setup python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- name: Install CLR requirements | |
run: | | |
sudo apt-get -y update | |
sudo apt-get install -y cmake llvm-9 clang-9 autoconf automake \ | |
libtool build-essential python curl git lldb-6.0 liblldb-6.0-dev \ | |
libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev \ | |
libssl-dev libnuma-dev libkrb5-dev zlib1g-dev | |
- uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: ${{ matrix.dot-net-version }} | |
- name: Create Build Environment | |
run: cmake -E make_directory ${{runner.workspace}}/build | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TESTS=ON | |
- name: Build | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: cmake --build . --config $BUILD_TYPE | |
- name: Build Python Package | |
shell: bash | |
run: python -m pip install --upgrade pip && pip install . | |
- name: Run C++ unit tests | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: ./unit_tests --out test.log -s --use-colour yes | |
- name: Setup Python tests | |
shell: bash | |
run: pip install -r Tests/requirements_test.txt | |
- name: Run pytest tests (level 0) | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 0 | |
- name: Run pytest tests (level 1) | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 1 | |
- name: Run pytest tests (level 2) | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 2 | |
- name: Run pytest tests (level 0) + external | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 0 --external | |
- name: Run pytest tests (level 1) + external | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 1 --external | |
- name: Run smoke tests | |
shell: bash | |
run: | | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 0 | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 1 | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 1 --pgc | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 2 | |
continue-on-error: true | |
- name: Test IPython REPL | |
shell: bash | |
run: | | |
pip install ipython | |
python -X dev -m IPython -c="import pyjion;pyjion.enable();a=1+1;a" | |
- name: Test module entry point | |
shell: bash | |
run: | | |
python -m pyjion -m calendar | |
python -m pyjion -m calendar 1999 | |
python -m pyjion Tests/hello.py | |
pyjion -m calendar 1999 | |
pyjion Tests/hello.py | |
- name: Install scikit-build for wheel | |
shell: bash | |
run: | | |
python -m pip install -U scikit-build | |
- name: Run full test suite | |
shell: bash | |
run: python -X dev -q Tests/run_cpython_tests.py -f Tests/python_tests.txt -o 1 | |
continue-on-error: true | |
timeout-minutes: 30 | |
build-macos-11: | |
runs-on: macos-11 | |
strategy: | |
matrix: | |
python-version: ["3.10"] | |
dot-net-version: [ "7.0.100" ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Setup python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: ${{ matrix.dot-net-version }} | |
- name: Create Build Environment | |
run: cmake -E make_directory ${{runner.workspace}}/build | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TESTS=ON | |
- name: Build | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: cmake --build . --config $BUILD_TYPE | |
- name: Build Python Package | |
shell: bash | |
run: python -m pip install --upgrade pip && pip install . | |
- name: Run C++ unit tests | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: ./unit_tests --out test.log -s --use-colour yes | |
- name: Setup Python tests | |
shell: bash | |
run: pip install -r Tests/requirements_test.txt | |
- name: Run pytest tests (level 0) | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 0 | |
- name: Run pytest tests (level 1) | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 1 | |
- name: Run pytest tests (level 2) | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 2 | |
- name: Run pytest tests (level 0) + external | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 0 --external | |
- name: Run pytest tests (level 1) + external | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 1 --external | |
- name: Test module entry point | |
shell: bash | |
run: | | |
python -m pyjion -m calendar | |
python -m pyjion -m calendar 1999 | |
python -m pyjion Tests/hello.py | |
pyjion -m calendar 1999 | |
pyjion Tests/hello.py | |
- name: Run smoke tests | |
shell: bash | |
run: | | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 0 | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 1 | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 1 --pgc | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 2 | |
continue-on-error: true | |
- name: Test IPython REPL | |
shell: bash | |
run: | | |
pip install ipython | |
python -X dev -m IPython -c="import pyjion;pyjion.enable();a=1+1;a" | |
- name: Run full test suite | |
shell: bash | |
run: python -X dev -q Tests/run_cpython_tests.py -f Tests/python_tests_macos11.txt -o 1 | |
continue-on-error: true | |
timeout-minutes: 30 | |
build-windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
python-version: ["3.10"] | |
dot-net-version: [ "7.0.100" ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Setup python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: ${{ matrix.dot-net-version }} | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3.1 | |
- name: Create Build Environment | |
run: cmake -E make_directory ${{runner.workspace}}/build | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{runner.workspace}}/build | |
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON | |
- name: Build | |
working-directory: ${{runner.workspace}}/build | |
shell: bash | |
run: cmake --build . --config Release | |
- name: Install build deps | |
shell: bash | |
run: python -m pip install -U scikit-build | |
- name: Build Python Package | |
shell: bash | |
run: python setup.py build | |
- name: Install Python Package | |
shell: bash | |
run: python setup.py install | |
- name: Run C++ unit tests | |
working-directory: ${{runner.workspace}}/build/Release | |
run: | | |
cp c:\Users\runneradmin\AppData\Local\Microsoft\dotnet\shared\Microsoft.NETCore.App\7.0.0\clrjit.dll . | |
.\unit_tests.exe | |
- name: Setup Python tests | |
shell: bash | |
run: pip install -r Tests/requirements_test.txt | |
- name: Run pytest tests (level 0) | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 0 | |
- name: Run pytest tests (level 1) | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 1 | |
- name: Run pytest tests (level 2) | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 2 | |
- name: Run pytest tests (level 0) + external | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 0 --external | |
- name: Run pytest tests (level 1) + external | |
shell: bash | |
run: python -X dev -m pytest Tests/ -v --opt-level 1 --external | |
- name: Test module entry point | |
shell: bash | |
run: | | |
python -m pyjion -m calendar | |
python -m pyjion -m calendar 1999 | |
python -m pyjion Tests/hello.py | |
pyjion -m calendar 1999 | |
pyjion Tests/hello.py | |
- name: Run smoke tests | |
shell: bash | |
run: | | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 0 | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 1 | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 1 --pgc | |
python -X dev -q Tests/run_cpython_tests.py -f Tests/python_smoke_tests.txt -o 2 | |
continue-on-error: true | |
env: | |
PYTHONIOENCODING: utf-8 | |
- name: Run full test suite | |
shell: bash | |
run: python -X dev -q Tests/run_cpython_tests.py -f Tests/python_tests_win.txt -o 1 | |
continue-on-error: true | |
timeout-minutes: 30 | |
env: | |
PYTHONIOENCODING: utf-8 | |
- name: Test IPython REPL | |
shell: bash | |
run: | | |
pip install ipython | |
python -X dev -m IPython -c="import pyjion;pyjion.enable();a=1+1;a" |