gfdm-server/.github/workflows/main.yml
2021-04-18 15:02:53 -05:00

129 lines
2.9 KiB
YAML

name: build
on: [push]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
check:
runs-on: ubuntu-latest
steps:
# Checkout Repo
- uses: actions/checkout@v2
# Set up python
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.x
# Install Deps
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
# Run Check
- name: Run Code Linters
run: tox -e check
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
steps:
# Checkout Repo
- uses: actions/checkout@v2
# Set up python
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
# Install Deps
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox tox-gh-actions
# Run Tests
- name: Run Python Tests
run: tox
- name: Show items
run: ls -la
# Upload Coverage Artifacts
- name: Upload Coverage Data
uses: actions/upload-artifact@v2
with:
name: coverage_${{ matrix.python-version }}
path: .coverage.*
coverage:
needs: test
runs-on: ubuntu-latest
steps:
# Checkout Repo
- uses: actions/checkout@v2
# Set up python
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.x
# Install Deps
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install tox
# Download Coverage Artifacts
- name: Download Coverage Data
uses: actions/download-artifact@v2
- name: Move coverage data
run: |
mv coverage_*/.coverage* .
rm -rf coverage_*/
# Run Coverage
- name: Run Coverage
run: tox -e coverage
# Upload coverage to Codecov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./dist/coverage.xml
directory: ./coverage/reports/
name: codecov-umbrella
fail_ci_if_error: true
path_to_write_report: ./coverage/codecov_report.txt
verbose: false
documentation:
runs-on: ubuntu-latest
steps:
# Checkout Repo
- uses: actions/checkout@v2
# Set up python
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.x
# Install Deps
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install tox
# Run Documentation
- name: Run Documentation
run: tox -e docs