Implement motion import #3355
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: Continuous Integration | |
on: | |
pull_request: | |
branches: | |
- main | |
- 'feature/**' | |
env: | |
PYTHON_VERSION: 3.10.x | |
jobs: | |
build-production-image: | |
name: Build and test production docker image | |
runs-on: ubuntu-22.04 | |
defaults: | |
run: | |
working-directory: .github/docker-compose | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Create secrets for datastore | |
run: mkdir secrets && echo -n "openslides" > secrets/postgres_password | |
- name: Run docker production image | |
run: docker-compose -f docker-compose.prod.yml up -d | |
- name: Wait for action service | |
# we have to execute this inside the container since the port to the outside is opened directly after the | |
# container started, while the code itself is not ready yet | |
run: docker-compose -f docker-compose.prod.yml exec -T backend-action scripts/wait.sh backend-action 9002 | |
- name: Wait for presenter service | |
# we have to execute this inside the container since the port to the outside is opened directly after the | |
# container started, while the code itself is not ready yet | |
run: docker-compose -f docker-compose.prod.yml exec -T backend-presenter scripts/wait.sh backend-presenter 9003 | |
- name: Fire a test request to actions component | |
run: curl localhost:9002/system/action/health | |
- name: Fire a test request to presenter component | |
run: curl localhost:9003/system/presenter/health | |
build-and-test-dev-image: | |
name: Build and test development docker image with Docker Compose | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run tests | |
run: dev/run-tests.sh | |
check-coding-style: | |
name: Check coding style | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- name: Install requirements | |
run: . requirements/export_datastore_commit.sh && pip install --requirement requirements/requirements_development.txt | |
- name: Check black | |
if: always() | |
run: black --check --diff openslides_backend/ tests/ cli/ | |
- name: Check isort | |
if: always() | |
run: isort --check-only --diff openslides_backend/ tests/ cli/ | |
- name: Check flake8 | |
if: always() | |
run: make flake8 | |
- name: Check mypy | |
if: always() | |
run: make mypy | |
check-models-all: | |
name: Check from models.yml up to permissions and jsons | |
runs-on: ubuntu-latest | |
env: | |
PYTHONPATH: . | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- name: Install requirements | |
run: . requirements/export_datastore_commit.sh && pip install --requirement requirements/requirements_development.txt | |
- name: Validate models.yml | |
if: always() | |
run: make validate-models-yml | |
- name: Check for up to date models.py | |
if: always() | |
run: make check-models | |
- name: Check for up to date permissions.py | |
if: always() | |
run: make check-permissions | |
- name: Check initial-data.json | |
if: always() | |
run: make check-initial-data-json | |
- name: Check example-data.json | |
if: always() | |
run: make check-example-data-json |