[chores] #359
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: OpenWISP Network Topology CI Build | |
on: | |
push: | |
branches: | |
- master | |
- gsoc23 | |
pull_request: | |
branches: | |
- master | |
- gsoc23 | |
jobs: | |
build: | |
name: Python==${{ matrix.python-version }} | ${{ matrix.django-version }} | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: | |
- "3.8" | |
- "3.9" | |
- "3.10" | |
django-version: | |
- django~=3.2.0 | |
- django~=4.1.0 | |
- django~=4.2.0 | |
steps: | |
- name: Install system packages | |
run: | | |
sudo apt update && | |
sudo apt -qq install \ | |
sqlite3 \ | |
gdal-bin \ | |
libproj-dev \ | |
libgeos-dev \ | |
libspatialite-dev \ | |
spatialite-bin \ | |
libsqlite3-mod-spatialite | |
- uses: actions/checkout@v2 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install system packages | |
run: | | |
sudo apt update | |
sudo apt-get -qq -y install sqlite3 gdal-bin libproj-dev \ | |
libgeos-dev libspatialite-dev spatialite-bin \ | |
libsqlite3-mod-spatialite | |
- name: Install python system packages | |
run: pip install -U pip wheel setuptools | |
- name: Start InfluxDB and Redis container | |
run: docker-compose up -d influxdb redis | |
- name: Install test dependencies | |
run: | | |
pip install -U -r requirements-test.txt | |
pip install --force-reinstall \ | |
git+https://github.com/openwisp/openwisp-controller/tarball/gsoc23 | |
- name: Install openwisp-network-topology | |
run: | | |
pip install -U -e . | |
pip install ${{ matrix.django-version }} | |
- name: QA checks | |
run: ./run-qa-checks | |
- name: Tests | |
run: | | |
coverage run runtests.py --parallel | |
WIFI_MESH=1 coverage run runtests.py | |
coverage combine | |
SAMPLE_APP=1 ./runtests.py --parallel --keepdb | |
- name: Upload Coverage | |
run: coveralls --service=github | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COVERALLS_FLAG_NAME: | | |
python-${{ matrix.python-version }}-${{ matrix.django-version }} | |
COVERALLS_PARALLEL: true | |
coveralls: | |
name: Finish Coveralls | |
needs: build | |
runs-on: ubuntu-latest | |
container: python:3-slim | |
steps: | |
- name: Finished | |
run: | | |
pip install --upgrade coveralls | |
coveralls --finish | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |