Enable denoise.py to work as script to avoid need for PYTHONPATH in env #866
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: CI | |
on: [push, pull_request] | |
jobs: | |
test-linux: | |
if: false | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.9", "3.13", "pypy3.10"] | |
include: | |
- python-version: 3.9 | |
coverage: "--cov=rebench" | |
name: "Ubuntu-latest: Python ${{ matrix.python-version }}" | |
steps: | |
- name: Checkout ReBench | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- name: Install PyTest | |
run: pip install pytest | |
- name: Install coverage and coveralls | |
run: pip install pytest-cov coveralls | |
if: matrix.coverage | |
- name: Install ReBench dependencies | |
run: pip install --editable . | |
- name: Run tests | |
run: | | |
pytest ${{ matrix.coverage }} | |
(cd rebench && rebench ../rebench.conf e:TestRunner2) | |
- name: Install and run pylint | |
run: | | |
pip install pylint | |
pylint rebench | |
if: matrix.python-version == '3.13' | |
- name: Install and run black | |
run: | | |
pip install black | |
black --check rebench | |
if: matrix.python-version == '3.13' | |
- name: Install and run mypy | |
run: | | |
pip install mypy | |
mypy --install-types --non-interactive rebench | |
if: matrix.python-version == '3.13' | |
- name: Upload coverage results to Coveralls | |
run: coveralls | |
env: | |
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
if: ${{ matrix.coverage && env.COVERALLS_REPO_TOKEN != '' }} | |
test-macos: | |
if: false | |
runs-on: macos-latest | |
name: "macOS: Python 3.12" | |
steps: | |
- name: Checkout ReBench | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Install PyTest | |
run: pip install pytest | |
- name: Install ReBench dependencies | |
run: pip install . | |
- name: Run tests | |
run: | | |
python -m pytest | |
(cd rebench && rebench ../rebench.conf e:TestRunner2) | |
test-docker: | |
if: false | |
name: "Docker: python:3" | |
runs-on: ubuntu-latest | |
container: | |
image: python:3 | |
steps: | |
- name: Check for dockerenv file | |
run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) | |
- name: Install Time Command | |
run: | | |
apt-get update | |
apt-get install -y --no-install-recommends time | |
- name: Checkout ReBench | |
uses: actions/checkout@v4 | |
- name: Install PyTest | |
run: pip3 install pytest | |
- name: Install ReBench dependencies | |
run: pip3 install . | |
- name: Run Test Run | |
run: (cd rebench && rebench -D ../rebench.conf e:TestRunner2) | |
- name: Run Unit Tests | |
run: python3 -m pytest | |
test-rocky: | |
name: "Rocky Linux: Python 3.9" | |
runs-on: ubuntu-latest | |
container: | |
image: rockylinux/rockylinux:9 | |
steps: | |
- name: Checkout ReBench | |
uses: actions/checkout@v4 | |
- name: Install basic tools | |
run: dnf install -y which time sudo python3-pip | |
- name: Run Tests and Package in venv | |
run: | | |
python3 -m pip install virtualenv | |
python3 -m virtualenv venv | |
source venv/bin/activate | |
pip install pytest | |
pip install . | |
# pytest | |
# (cd rebench && rebench -D ../rebench.conf e:TestRunner2) | |
python3 setup.py sdist build | |
python3 setup.py sdist bdist_wheel | |
- name: Install built package globally | |
run: pip install dist/*.whl | |
- name: Run integration test | |
run: | | |
set +e | |
ls -lah /usr/local/lib/python3.9/site-packages/rebench/denoise.py | |
cat /usr/local/lib/python3.9/site-packages/rebench/denoise.py | tail -n 10 | |
cd rebench | |
ls -lah denoise.py | |
ls -lah . | |
rebench -c ../rebench.conf e:TestRunner2 | |
REBENCH_EXIT=$? | |
echo "rebench exit code: $REBENCH_EXIT" | |
if [ "$REBENCH_EXIT" -ne "0" ]; then | |
echo "rebench failed unexpectedly" | |
exit $REBENCH_EXIT | |
fi | |
if [ ! -f test.data ]; then | |
echo "test.data not found" | |
exit 1 | |
fi | |
EXPECTED=80 | |
LINES=$(cat test.data | grep total | wc -l) | |
if [ "$LINES" -ne "$EXPECTED" ]; then | |
echo "test.data has unexpected number of lines: $LINES" | |
echo "expected: $EXPECTED" | |
exit 1 | |
fi |