Fixed Matplotlib 3.8 compatibility issues #3159
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: graspologic Build | |
on: | |
push: | |
paths-ignore: | |
- '.all-contributorsrc' | |
- 'CONTRIBUTORS.md' | |
branches-ignore: | |
- 'dev' | |
- 'main' | |
pull_request: | |
paths-ignore: | |
- '.all-contributorsrc' | |
- 'CONTRIBUTORS.md' | |
workflow_call: | |
jobs: | |
static-code-analysis: | |
runs-on: ubuntu-latest | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v1 | |
with: | |
languages: 'python' | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v1 | |
build-reference-documentation: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: "Run Reference Documentation Generation" | |
run: | | |
sudo apt install pandoc | |
pip install -U pip setuptools wheel | |
pip install -r requirements.txt | |
pip install pipdeptree | |
echo "documentation" > dependencies_documentation.txt | |
pipdeptree >> dependencies_documentation.txt | |
sphinx-build -W -t build_tutorials -a docs/ docs/_build/html | |
- name: Archive documentation version artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: dependencies | |
path: | | |
dependencies_documentation.txt | |
- name: Archive documentation artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: documentation-site | |
path: | | |
docs/_build/html | |
code-format-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Run Format Check | |
run: | | |
pip install -U pip setuptools wheel | |
pip install -r requirements.txt | |
black --check --diff ./graspologic ./tests | |
isort --check-only ./graspologic ./tests | |
test-coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Run Test Coverage | |
run: | | |
pip install -U pip setuptools wheel | |
pip install -r requirements.txt | |
python -m pytest --co --cov=graspologic graspologic tests | |
unit-and-doc-test: | |
runs-on: ${{matrix.os}} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python_version: ["3.8", "3.9", "3.10", "3.11"] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{matrix.python_version}} ${{matrix.os}} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{matrix.python_version}} | |
- name: Install dependencies Python ${{matrix.python_version}} ${{matrix.os}} | |
run: | | |
pip install -U pip setuptools wheel | |
pip install -r requirements.txt | |
- name: Run Unit Tests and Doctests Python ${{matrix.python_version}} ${{matrix.os}} | |
run: | | |
pytest tests # note: should be pytest graspologic tests, but we're skipping doctests for now and re-enabling them in another PR | |
- name: Run mypy type check Python ${{matrix.python_version}} ${{matrix.os}} | |
run: | | |
mypy ./graspologic | |
- name: Generate dependency tree | |
run: | | |
pip install pipdeptree | |
export DEPS='dependencies_${{matrix.python_version}}_${{matrix.os}}.txt' | |
echo "${{matrix.python_version}} ${{matrix.os}}" > $DEPS | |
pipdeptree >> $DEPS | |
shell: bash | |
- name: Archive dependency tree | |
uses: actions/upload-artifact@v2 | |
with: | |
name: dependencies | |
path: | | |
dependencies_${{matrix.python_version}}_${{matrix.os}}.txt |