Skip to content

LLVM implementation of Bubble Sort #894

LLVM implementation of Bubble Sort

LLVM implementation of Bubble Sort #894

Workflow file for this run

name: build
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test-ubuntu-py38:
runs-on: ${{matrix.os}}
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version:
- "3.8"
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade pip version
run: |
python -m pip install --upgrade pip
- name: Install requirements
run: |
python -m pip install -r requirements.txt
python -m pip install -r docs/requirements.txt
- name: Install lcov
run: |
sudo apt-get update
sudo apt-get install -y lcov
- name: Build package
run: |
CXXFLAGS="-std=c++17 --coverage" CFLAGS="--coverage" python scripts/build/install.py
# coverage tests
- name: Run tests
run: |
python -m pytest --doctest-modules --cov=./ --cov-report=xml -s
- name: Capture Coverage Data with lcov
run: |
lcov --capture --directory . --output-file coverage.info --no-external
- name: Generate HTML Coverage Report with genhtml
run: |
genhtml coverage.info --output-directory coverage_report
- name: Upload Coverage
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./coverage/reports/
env_vars: OS,PYTHON
fail_ci_if_error: false
files: ./coverage.xml
flags: unittests
name: codecov-umbrella
path_to_write_report: ./coverage/codecov_report.txt
verbose: true
- name: Build Documentation
run: |
sphinx-build -b html docs/source/ docs/build/html
test-ubuntu-py39-py310:
runs-on: ${{matrix.os}}
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version:
- "3.9"
- "3.10"
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade pip version
run: |
python -m pip install --upgrade pip
- name: Install requirements
run: |
python -m pip install -r requirements.txt
python -m pip install -r docs/requirements.txt
- name: Build package
run: |
CXXFLAGS="-std=c++17" python scripts/build/install.py
- name: Run tests
run: |
python -c "import pydatastructs; pydatastructs.test(only_benchmarks=True)"
- name: Build Documentation
run: |
sphinx-build -b html docs/source/ docs/build/html
test-macos:
runs-on: ${{matrix.os}}
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os: [macos-latest]
python-version:
- "3.8"
- "3.9"
- "3.10"
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade pip version
run: |
python -m pip install --upgrade pip
- name: Install requirements
run: |
python -m pip install -r requirements.txt
python -m pip install -r docs/requirements.txt
- name: Build package
env:
MACOSX_DEPLOYMENT_TARGET: 11.0
run: |
CXXFLAGS="-std=c++17" python scripts/build/install.py
- name: Run tests
run: |
python -c "import pydatastructs; pydatastructs.test()"
- name: Build Documentation
run: |
sphinx-build -b html docs/source/ docs/build/html
# test-windows:
# runs-on: ${{matrix.os}}
# timeout-minutes: 20
# strategy:
# fail-fast: false
# matrix:
# os: [windows-latest]
# python-version:
# - "3.8"
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# - name: Setup conda
# uses: s-weigand/setup-conda@v1
# with:
# update-conda: true
# python-version: ${{ matrix.python-version }}
# conda-channels: anaconda, conda-forge
# # - run: conda --version # This fails due to unknown reasons
# - run: which python
# - name: Upgrade pip version
# run: |
# python -m pip install --upgrade pip
# - name: Install requirements
# run: |
# python -m pip install -r requirements.txt
# python -m pip install -r docs/requirements.txt
# - name: Build package
# env:
# CL: "/std:c++17"
# run: |
# python scripts/build/install.py
# - name: Run tests
# run: |
# python -c "import pydatastructs; pydatastructs.test()"
# - name: Build Documentation
# run: |
# sphinx-build -b html docs/source/ docs/build/html