0d9738b72d
Integrate live streaming inside the jitsi/rtc components. Live streaming works without jitsi, but is using the same components for a fluid integration. A streaming URL can be set in the settings page. Users EITHER consume the live stream OR are presend in a jitsi live conference. To consume both the live stream and the jitsi conference, users may use a dedicated jitsi tab in their session. The jitsi users can be restricted to only allow thouse with the right the manage speakers or being present on the "current list of speakers", automatically simulating a virtual plenum
137 lines
3.4 KiB
YAML
137 lines
3.4 KiB
YAML
dist: xenial
|
|
sudo: true
|
|
|
|
cache:
|
|
- directories:
|
|
- $HOME/.cache/pip
|
|
- client/node_modules
|
|
|
|
matrix:
|
|
include:
|
|
- stage: "Dependencies"
|
|
name: "Installing dependencies for python"
|
|
language: python
|
|
python:
|
|
- "3.6"
|
|
cache:
|
|
pip: true
|
|
install:
|
|
- python --version
|
|
- pip install --upgrade setuptools pip
|
|
- pip install --upgrade --requirement requirements/development.txt
|
|
- pip install --upgrade .[big_mode]
|
|
- pip freeze
|
|
script: skip
|
|
|
|
- name: "Installing npm dependencies"
|
|
language: node_js
|
|
node_js: "12.18"
|
|
cache:
|
|
- directories:
|
|
- "client/node_modules"
|
|
before_install:
|
|
- npm install -g @angular/cli@~8.0.6
|
|
- ng --version
|
|
- cd client
|
|
install:
|
|
- npm install
|
|
script: skip
|
|
- stage: "Run tests"
|
|
name: "Client: Testing"
|
|
language: node_js
|
|
node_js: "12.18"
|
|
apt:
|
|
sources:
|
|
- google-chrome
|
|
packages:
|
|
- google-chrome-stable
|
|
services:
|
|
- xvfb
|
|
install:
|
|
- cd client
|
|
- export CHROME_BIN=/usr/bin/google-chrome
|
|
- export DISPLAY=:99.0
|
|
script:
|
|
- npm run test-silently
|
|
|
|
- name: "Client: Production Build (ES5)"
|
|
language: node_js
|
|
node_js: "12.18"
|
|
install:
|
|
- cd client
|
|
- sed -i '/\"target\"/c\\"target\":\"es5\",' tsconfig.json
|
|
script:
|
|
- npm run build
|
|
|
|
- name: "Client: Production Build (ES2015)"
|
|
language: node_js
|
|
node_js: "12.18"
|
|
install:
|
|
- cd client
|
|
- echo "Firefox ESR" > browserslist
|
|
script:
|
|
- npm run build
|
|
|
|
- name: "Client: Build"
|
|
language: node_js
|
|
node_js: "12.18"
|
|
script:
|
|
- cd client
|
|
- npm run build-debug
|
|
|
|
- name: "Server: Tests Python 3.6"
|
|
language: python
|
|
python:
|
|
- "3.6"
|
|
script:
|
|
- mypy openslides/ tests/
|
|
- pytest --cov --cov-fail-under=75
|
|
|
|
- name: "Server: Tests Python 3.7"
|
|
language: python
|
|
python:
|
|
- "3.7"
|
|
script:
|
|
- flake8 openslides tests
|
|
- isort --check-only --diff --recursive openslides tests
|
|
- black --check --diff --target-version py36 openslides tests
|
|
- mypy openslides/ tests/
|
|
- pytest --cov --cov-fail-under=75
|
|
|
|
- name: "Server: Tests Python 3.8"
|
|
language: python
|
|
python:
|
|
- "3.8"
|
|
script:
|
|
- flake8 openslides tests
|
|
- isort --check-only --diff --recursive openslides tests
|
|
- black --check --diff --target-version py36 openslides tests
|
|
- mypy openslides/ tests/
|
|
- pytest --cov --cov-fail-under=75
|
|
|
|
- name: "Client: Linting"
|
|
language: node_js
|
|
node_js: "12.18"
|
|
script:
|
|
- cd client
|
|
- npm run lint-check
|
|
|
|
- name: "Client: Code Formatting Check"
|
|
language: node_js
|
|
node_js: "12.18"
|
|
script:
|
|
- cd client
|
|
- npm list --depth=0 || cat --help
|
|
- npm run prettify-check
|
|
|
|
- name: "Server: Tests Startup Routine Python 3.7"
|
|
language: python
|
|
python:
|
|
- "3.7"
|
|
script:
|
|
- set -e
|
|
- python manage.py createsettings
|
|
- python manage.py migrate
|
|
- python manage.py runserver --noreload & (sleep 15 && kill $(ps aux | grep 'manage.py runserver' | head -n -1 | awk '{print $2}'))
|
|
- set +e
|