name: Python and PHP Tests on: push: paths-ignore: - "docs/**" pull_request: types: [ opened, ready_for_review, review_requested, edited, reopened, synchronize, ] paths-ignore: - "docs/**" workflow_dispatch: jobs: pre-commit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 - uses: pre-commit/action@v2.0.3 check-shell: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 - run: | python -m venv venv && source venv/bin/activate pip install gh-release-install sudo venv/bin/gh-release-install \ koalaman/shellcheck \ shellcheck-{tag}.linux.x86_64.tar.xz --extract shellcheck-{tag}/shellcheck \ /usr/bin/shellcheck sudo venv/bin/gh-release-install \ mvdan/sh \ shfmt_{tag}_linux_amd64 \ /usr/bin/shfmt - run: SEVERITY=warning make shell-check test: strategy: matrix: include: - runs-on: ubuntu-18.04 python-version: "3.6" php-version: "7.2" prerequisites-script: install-bionic.sh runs-on: ${{ matrix.runs-on }} env: ENVIRONMENT: testing LIBRETIME_LOG_DIR: /tmp/log/libretime steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Setup PostgreSQL run: | sudo systemctl start postgresql.service pg_isready sudo -u postgres psql -c 'CREATE DATABASE libretime;' sudo -u postgres psql -c "CREATE USER libretime WITH PASSWORD 'libretime';" sudo -u postgres psql -c 'GRANT CONNECT ON DATABASE libretime TO libretime;' sudo -u postgres psql -c 'ALTER USER libretime CREATEDB;' - name: Setup PHP with specific version uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} - name: Install prerequisites run: sudo -E ./.github/scripts/${{ matrix.prerequisites-script }} - name: Run Python tests run: | sudo ./.github/scripts/python-pkg-install.sh ./.github/scripts/python-pkg-test.sh - name: Run PHP tests run: | composer install --no-progress --dev cd airtime_mvc/tests php ../../vendor/bin/phpunit