name: CI on: push: pull_request: jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: "3.9" cache: pip - name: Run pre-commit uses: pre-commit/action@v2.0.3 tox: runs-on: ubuntu-latest name: "Test with tox" steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: "3.9" cache: pip - name: Install dependencies run: | python -m pip install -U pip python -m pip install -U tox - name: Run tox run: tox -e py39 docker: runs-on: ubuntu-latest strategy: fail-fast: false matrix: script: - name: Basic args: "" - name: Extended args: "use_celery=y use_drf=y js_task_runner=Gulp" name: "${{ matrix.script.name }} Docker" env: DOCKER_BUILDKIT: 1 COMPOSE_DOCKER_CLI_BUILD: 1 steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: "3.9" cache: pip - name: Docker ${{ matrix.script.name }} run: sh tests/test_docker.sh ${{ matrix.script.args }} bare: runs-on: ubuntu-latest strategy: fail-fast: false matrix: script: - name: With Celery args: "use_celery=y use_compressor=y" - name: With Gulp args: "js_task_runner=Gulp custom_bootstrap_compilation=y" name: "${{ matrix.script.name }} Bare metal" services: redis: image: redis:5.0 ports: - 6379:6379 postgres: image: postgres:12 ports: - 5432:5432 env: POSTGRES_PASSWORD: postgres env: CELERY_BROKER_URL: "redis://localhost:6379/0" # postgres://user:password@host:port/database DATABASE_URL: "postgres://postgres:postgres@localhost:5432/postgres" steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: "3.9" cache: pip cache-dependency-path: '**/requirements*.txt' - uses: actions/setup-node@v2 with: node-version: "16" - name: Bare Metal ${{ matrix.script.name }} run: sh tests/test_bare.sh ${{ matrix.script.args }}