[tests] Debug test_unsaved_changes #2032
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 | |
pull_request: | |
branches: | |
- master | |
jobs: | |
build: | |
name: Python==${{ matrix.python-version }} | ${{ matrix.django-version }} | |
runs-on: ubuntu-20.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@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 }} | |
cache: 'pip' | |
cache-dependency-path: | | |
requirements.txt | |
requirements-test.txt | |
- name: Cache pip dependencies | |
uses: actions/cache@v3 | |
with: | |
path: /opt/hostedtoolcache/Python/ | |
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}-${{ hashFiles('requirements-test.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
# - uses: browser-actions/setup-chrome@v1 | |
# # Using a fixed version, see here for more information on why: | |
# # https://github.com/openwisp/openwisp-controller/issues/902#issuecomment-2266219715 | |
# # TODO: find a solution to allow using recent versions | |
# with: | |
# chrome-version: 125 | |
# install-dependencies: true | |
# install-chromedriver: true | |
# id: setup-chrome | |
# - run: | | |
# ${{ steps.setup-chrome.outputs.chrome-path }} --version | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Install Dependencies | |
id: deps | |
run: | | |
sudo apt update | |
sudo apt -qq -y install sqlite3 gdal-bin libproj-dev \ | |
libgeos-dev libspatialite-dev spatialite-bin \ | |
libsqlite3-mod-spatialite | |
sudo npm install -g jshint stylelint | |
pip install -U pip wheel setuptools | |
pip install -U -r requirements-test.txt | |
pip install -U -e . | |
pip install ${{ matrix.django-version }} | |
pip install -U --no-deps --force-reinstall https://github.com/openwisp/openwisp-utils/tarball/chrome_bin | |
- name: QA checks | |
run: ./run-qa-checks | |
- name: Tests | |
if: ${{ !cancelled() && steps.deps.conclusion == 'success' }} | |
run: | | |
chromedriver --version | |
cd tests | |
POSTGRESQL=1 DJANGO_SETTINGS_MODULE=openwisp2.postgresql_settings ./manage.py test --tag selenium_tests openwisp_controller.config.tests.test_selenium.TestDeviceAdmin.test_unsaved_changes | |
# 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 | |
# tests the extension capability | |
# SAMPLE_APP=1 coverage run ./runtests.py --parallel --keepdb | |
coverage combine | |
coverage xml | |
env: | |
SELENIUM_HEADLESS: 1 | |
CHROME_BIN: ${{ steps.setup-chrome.outputs.chrome-path }} | |
- name: Setup upterm session | |
uses: owenthereal/action-upterm@v1 | |
if: ${{ failure() }} | |
with: | |
# Restrict to the user who triggered the workflow | |
limit-access-to-actor: true | |
wait-timeout-minutes: 5 | |
- name: Upload Coverage | |
if: ${{ success() }} | |
uses: coverallsapp/github-action@v2 | |
with: | |
parallel: true | |
format: cobertura | |
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 |