Skip to content

[pre-commit.ci] auto fixes from pre-commit.com hooks #86

[pre-commit.ci] auto fixes from pre-commit.com hooks

[pre-commit.ci] auto fixes from pre-commit.com hooks #86

Workflow file for this run

# SPDX-FileCopyrightText: 2017 Fermi Research Alliance, LLC
# SPDX-License-Identifier: Apache-2.0
---
name: Run CI
on:
push:
branches:
- "**" # matches every branch
- "!gh-pages" # excludes gh-pages branch
pull_request:
branches:
- master
jobs:
pytest:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version:
- "3.8"
- "3.9"
name: Python ${{ matrix.python-version }} unit tests
steps:
- name: Setup python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Note Python version/implementation/cache
run: |
which python3
python3 -c 'import sys; print(sys.version)'
python3 -c 'import platform; print(platform.python_implementation())'
python3 -m pip cache dir
- name: checkout DE Modules
uses: actions/checkout@v3
with:
path: decisionengine_modules
fetch-depth: 0
- name: checkout DE Framework
uses: actions/checkout@v3
with:
path: decisionengine
repository: HEPCloud/decisionengine
fetch-depth: 0
- name: checkout GlideinWMS for python3
uses: actions/checkout@v3
with:
path: glideinwms
repository: glideinWMS/glideinwms
ref: master
- name: Cache pip
uses: actions/cache@v3
with:
# This path is specific to Ubuntu
path: ~/.cache/pip
# Look to see if there is a cache hit for the corresponding requirements file
key: ${{ runner.os }}-pip-${{ hashFiles('decisionengine_modules/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Fixup PATH for python libs
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Install dependencies for GlideinWMS
run: |
set -x
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade wheel setuptools
python3 -m pip install -r glideinwms/requirements.txt
- name: Install dependencies for DE Framework
run: |
set -x
cd ${{ github.workspace }}/decisionengine
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade wheel setuptools
python3 -m pip install --upgrade pytest
python3 -m pip install --user Cython
python3 setup.py bdist_wheel
python3 -m pip install --user dist/decisionengine*.whl
- name: Install DE Modules dependencies (runtime)
run: |
set -x
cd decisionengine_modules
python3 -m pip install --upgrade pip
python3 -m pip install -e . --user
python3 -m pip list --user
- name: Install dependencies (unit tests)
run: |
set -x
cd decisionengine_modules
python3 -m pip install --upgrade pytest
python3 -m pip install -e .[develop] --user
python3 -m pip list --user
- name: Note DE Framework used in testing
run: |
set -x
python3 -c 'from decisionengine.framework import __version__; print("testing with framework", __version__)'
python3 -c 'import decisionengine.framework; print(decisionengine.framework.__file__)'
- name: Run Unit Tests on Python ${{ matrix.python-version }}
env:
PYTEST_TIMEOUT: 90
PYTHONPATH: ${{ github.workspace }}
run: |
cd decisionengine_modules
pytest --cov-report term --cov-report xml --no-cov-on-fail --cov=./
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
working-directory: decisionengine_modules
flags: python-${{ matrix.python-version }}
build_doc:
name: Generate Documentation
runs-on: ubuntu-latest
needs: pytest
steps:
- name: checkout code tree
uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-python@v4
with:
python-version: "3.9"
architecture: "x64"
- name: Cache pip
uses: actions/cache@v3
with:
# This path is specific to Ubuntu
path: ~/.cache/pip
# Look to see if there is a cache hit for the corresponding requirements file
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Note Python version/implementation/cache
run: |
which python3
python3 -c 'import sys; print(sys.version)'
python3 -c 'import platform; print(platform.python_implementation())'
python3 -m pip cache dir
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3-pip python3-psycopg2 latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
python3 -m pip install --upgrade pip
python3 -m pip install -e .[develop] --user
python3 -m pip list --user
python3 -m pip install sphinx
- name: Build documentation
env:
PYTHONPATH: ${{ github.workspace }}/../:${{ github.workspace }}
run: |
cd doc
make rst html latexpdf