[fix] Fixed timseries structure for storing signal metric #586 #1449
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 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@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
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: | | |
coverage run -p --source=openwisp_monitoring runtests.py | |
SAMPLE_APP=1 coverage run -p --source=openwisp_monitoring runtests.py | |
TIMESERIES_UDP=1 coverage run -p --source=openwisp_monitoring runtests.py | |
coverage combine | |
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@v3 | |
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 |