[monitoring] Adding influxDB 2.x version support #274 #1394
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 Monitoring CI Build | |
on: | |
push: | |
branches: | |
- master | |
- dev | |
pull_request: | |
branches: | |
- master | |
- dev | |
jobs: | |
build: | |
name: Python==${{ matrix.python-version }} | ${{ matrix.django-version }} | |
runs-on: ubuntu-20.04 | |
services: | |
redis: | |
image: redis | |
ports: | |
- 6379:6379 | |
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 \ | |
fping \ | |
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 python system packages | |
run: | | |
pip install -U pip wheel setuptools | |
- name: Install npm dependencies | |
run: sudo npm install -g jshint stylelint | |
- name: Start InfluxDB container | |
run: docker-compose up -d influxdb | |
- name: Install test dependencies | |
run: | | |
pip install -r requirements-test.txt | |
- name: Install openwisp-monitoring | |
run: | | |
pip install -U -I -e . | |
pip uninstall -y django | |
pip install ${{ matrix.django-version }} | |
- name: QA checks | |
run: | | |
./run-qa-checks | |
- name: Tests | |
run: | | |
SAMPLE_APP=1 coverage run --source=openwisp_monitoring runtests.py | |
coverage run -a --source=openwisp_monitoring runtests.py | |
TIMESERIES_UDP=1 coverage run -a --source=openwisp_monitoring runtests.py | |
coverage xml | |
- name: Upload Coverage | |
uses: coverallsapp/github-action@v2 | |
with: | |
parallel: true | |
format: cobertura | |
flag-name: python-${{ matrix.python-version }}-${{ matrix.django-version }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
deploy: | |
name: Deploy Docker Image | |
runs-on: ubuntu-20.04 | |
needs: | |
- build | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
steps: | |
- uses: actions/checkout@master | |
# the following action is equivalent to | |
# echo "$DOCKER_HUB_SECRET" | docker login --username "$DOCKER_HUB_USERNAME" --password-stdin | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_SECRET }} | |
- name: Push to Docker | |
run: | | |
docker build . -t openwisp/openwisp-monitoring:develop | |
docker push openwisp/openwisp-monitoring:develop | |
coveralls: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@v2 | |
with: | |
parallel-finished: true |