[feature] Added support for ZeroTier VPN backend #604 #606 #801 #1740
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 Controller 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 | |
services: | |
redis: | |
image: redis | |
ports: | |
- 6379:6379 | |
postgres: | |
image: postgis/postgis:13-3.3-alpine | |
env: | |
POSTGRES_PASSWORD: openwisp2 | |
POSTGRES_USER: openwisp2 | |
POSTGRES_DB: openwisp2 | |
ports: | |
- 5432:5432 | |
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: | |
- 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 npm dependencies | |
run: sudo npm install -g jshint stylelint | |
- name: Upgrade python system packages | |
run: pip install -U pip wheel setuptools | |
- name: Install test dependencies | |
run: | | |
pip install -U -r requirements-test.txt | |
- name: Install openwisp-controller | |
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 | |
# the following command runs tests with Postgres/PostGIS but | |
# only for specific test cases which are tagged with "db_tests" | |
POSTGRESQL=1 coverage run runtests.py --parallel --keepdb | |
coverage combine | |
# tests the extension capability | |
SAMPLE_APP=1 ./runtests.py --keepdb | |
env: | |
SELENIUM_HEADLESS: 1 | |
- name: Upload Coverage | |
uses: coverallsapp/github-action@v2 | |
with: | |
parallel: true | |
flag-name: python-${{ matrix.env.env }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
coveralls: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@v2 | |
with: | |
parallel-finished: true |