Skip to content

only doc test 17

only doc test 17 #555

Workflow file for this run

name: Linting and tests
on:
push:
branches:
- master
- development
pull_request:
branches:
- master
- development
jobs:
free-disk:
runs-on: ubuntu-latest
steps:
- name: Free disk space
run: |
echo "=============================================="
echo "Freeing up disk space on CI system"
echo "=============================================="
df -h
# Deleting ~15GB
rm -rf /usr/share/dotnet/
rm -rf /opt/ghc
rm -rf /usr/local/share/boost
rm -rf "$AGENT_TOOLSDIRECTORY"
df -h
isort:
runs-on: ubuntu-latest
steps:
- name: Check out source repository
uses: actions/checkout@v4
- name: Set up pdm
uses: pdm-project/setup-pdm@v4
with:
python-version: "3.11"
cache: true
- name: Install dependencies
run: pdm sync -G lint --no-default
- name: Run isort
run: pdm run pre-commit run isort --all-files
ruff:
runs-on: ubuntu-latest
steps:
- name: Check out source repository
uses: actions/checkout@v4
- name: Set up pdm
uses: pdm-project/setup-pdm@v4
with:
python-version: "3.11"
cache: true
- name: Install dependencies
run: pdm sync -G lint --no-default
- name: Run ruff
run: pdm run pre-commit run ruff --all-files
pre-commit-hooks:
runs-on: ubuntu-latest
steps:
- name: Check out source repository
uses: actions/checkout@v4
- name: Set up pdm
uses: pdm-project/setup-pdm@v4
with:
python-version: "3.11"
cache: true
- name: Install dependencies
run: pdm sync -G lint --no-default
- name: Run pre-commit hooks
run: |
pdm run pre-commit run check-added-large-files --all-files
pdm run pre-commit run check-merge-conflict --all-files
pdm run pre-commit run check-toml --all-files
pdm run pre-commit run check-yaml --all-files
pdm run pre-commit run end-of-file-fixer --all-files
pdm run pre-commit run mixed-line-ending --all-files
pdm run pre-commit run name-tests-test --all-files
pdm run pre-commit run trailing-whitespace --all-files
mypy:
runs-on: ubuntu-latest
steps:
- name: Check out source repository
uses: actions/checkout@v4
- name: Set up pdm
uses: pdm-project/setup-pdm@v4
with:
python-version: "3.11"
cache: true
- name: Install dependencies
run: pdm sync -G lint --no-default
- name: Run mypy
run: pdm run pre-commit run mypy --all-files
code-quality-codeql:
runs-on: ubuntu-latest
steps:
- name: Check out source repository
uses: actions/checkout@v4
- name: Set up Python environment
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Code quality analysis with CodeQL
uses: github/codeql-action/init@v3
with:
languages: python
unit-tests:
needs: free-disk
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.10", "3.11"]
steps:
- name: Free disk space
run: |
echo "=============================================="
echo "Freeing up disk space on CI system"
echo "=============================================="
df -h
rm -rf /usr/share/dotnet/
rm -rf /opt/ghc
rm -rf /usr/local/share/boost
rm -rf "$AGENT_TOOLSDIRECTORY"
df -h
- name: Check out source repository
uses: actions/checkout@v4
- name: Set up pdm
uses: pdm-project/setup-pdm@v4
with:
python-version: ${{ matrix.python-version }}
cache: true
- name: Install dependencies
run: |
pdm sync -G full -G test
pip install cmdstanpy==0.9.5 # Fixes https://github.com/facebook/prophet/issues/2354
- name: Run tests w/ coverage
run: |
export PYTHONPATH="${PYTHONPATH}:$(pwd)"
pdm run pytest -n=auto --cov=atom --cov-report=xml tests/
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11' }}
with:
files: ./coverage.xml
# examples-tests:
# runs-on: ubuntu-latest
# steps:
# - name: Free disk space
# run: |
# echo "=============================================="
# echo "Freeing up disk space on CI system"
# echo "=============================================="
# echo "Listing 100 largest packages"
# dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 100
# df -h
# echo "Removing large packages..."
# sudo apt-get remove -y '^dotnet-.*'
# sudo apt-get remove -y '^llvm-.*'
# sudo apt-get remove -y azure-cli google-cloud-cli google-chrome-stable firefox mono-devel
# sudo apt-get autoremove -y
# sudo apt-get clean
# df -h
# echo "Removing large directories"
# # Deleting ~15GB
# rm -rf /usr/share/dotnet/
# df -h
# - name: Check out source repository
# uses: actions/checkout@v4
# - name: Set up pdm
# uses: pdm-project/setup-pdm@v4
# with:
# python-version: "3.11"
# cache: true
# - name: Install dependencies
# run: pdm sync -G full -G test
# - name: Run example notebooks
# run: |
# pdm run pytest \
# -n=auto \
# --nbmake \
# --nbmake-timeout=600 \
# --ignore=./examples/webapp/ \
# --ignore=./examples/accelerating_cuml.ipynb \
# --ignore=./examples/ray_backend.ipynb \
# ./examples/
documentation:
runs-on: ubuntu-latest
needs: free-disk
steps:
- name: Free disk space
run: |
echo "=============================================="
echo "Freeing up disk space on CI system"
echo "=============================================="
df -h
if [ "${{ matrix.os }}" == "windows-latest" ]; then
Remove-Item -Path "C:\Program Files\dotnet" -Recurse -Force
Remove-Item -Path "C:\opt\ghc" -Recurse -Force
Remove-Item -Path "C:\ProgramData\boost" -Recurse -Force
Remove-Item -Path "$env:AGENT_TOOLSDIRECTORY" -Recurse -Force
else
rm -rf /usr/share/dotnet/
rm -rf /opt/ghc
rm -rf /usr/local/share/boost
rm -rf "$AGENT_TOOLSDIRECTORY"
fi
df -h
- name: Check out source repository
uses: actions/checkout@v4
- name: Set up pdm
uses: pdm-project/setup-pdm@v4
with:
python-version: "3.11"
cache: true
- name: Install dependencies
run: pdm sync -G full -G doc
- name: Build documentation
run: |
export PYTHONPATH="${PYTHONPATH}:$(pwd)"
pdm run mkdocs build --strict