name: 'CI' on: pull_request: workflow_dispatch: push: branches: [ develop ] permissions: contents: read jobs: base_setup: runs-on: ubuntu-latest timeout-minutes: 60 strategy: matrix: python-version: [ '3.7', '3.8', '3.9', '3.10' ] name: Base (${{ matrix.python-version }}) services: mariadb: image: mariadb:10.6 env: MARIADB_ROOT_PASSWORD: travis ports: - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - uses: actions/setup-node@v3 with: node-version: 14 - run: | wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb; sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb; sudo apt install redis-server python -m pip install -U --no-cache-dir --force-reinstall urllib3 pyOpenSSL ndg-httpsclient pyasn1 wheel setuptools pip; python -m pip install -U -e ${GITHUB_WORKSPACE}; - run: python ${GITHUB_WORKSPACE}/bench/tests/test_init.py TestBenchInit.basic production_setup: runs-on: ubuntu-latest timeout-minutes: 60 strategy: matrix: python-version: [ '3.7', '3.10' ] name: Production (${{ matrix.python-version }}) services: mariadb: image: mariadb:10.6 env: MARIADB_ROOT_PASSWORD: travis ports: - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - uses: actions/setup-node@v3 with: node-version: 14 - run: | wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb; sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb; sudo apt install redis-server python -m pip install -U --no-cache-dir --force-reinstall urllib3 pyOpenSSL ndg-httpsclient pyasn1 wheel setuptools pip; python -m pip install -U -e ${GITHUB_WORKSPACE}; - run: python bench/tests/test_setup_production.py TestSetupProduction.production tests: runs-on: ubuntu-latest timeout-minutes: 60 strategy: matrix: python-version: [ '3.7', '3.10' ] name: Tests (${{ matrix.python-version }}) services: mariadb: image: mariadb:10.6 env: MARIADB_ROOT_PASSWORD: travis ports: - 3306:3306 options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - uses: actions/setup-node@v3 with: node-version: 14 - run: | wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb; sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb; sudo apt install redis-server python -m pip install -U --no-cache-dir --force-reinstall urllib3 pyOpenSSL ndg-httpsclient pyasn1 wheel setuptools pip; python -m pip install -U -e ${GITHUB_WORKSPACE}; - run: python -m unittest -v bench.tests.test_utils && python -m unittest -v bench.tests.test_init