[4.x] Add DisallowSqliteAttach feature #1920
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: CI | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
on: | |
push: | |
pull_request: | |
branches: [ master ] | |
jobs: | |
tests: | |
runs-on: ubuntu-latest | |
container: archtechx/tenancy:latest | |
strategy: | |
matrix: | |
include: | |
- laravel: "^11.0" | |
php: "8.4" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install Composer dependencies | |
run: | | |
composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update | |
composer update --prefer-dist --no-interaction | |
- name: Run tests | |
if: ${{ ! env.ACT }} | |
run: COLUMNS=200 ./vendor/bin/pest -v --compact --colors=always | |
env: | |
DB_PASSWORD: password | |
DB_USERNAME: root | |
DB_DATABASE: main | |
TENANCY_TEST_MYSQL_HOST: mysql | |
TENANCY_TEST_PGSQL_HOST: postgres | |
TENANCY_TEST_REDIS_HOST: redis | |
TENANCY_TEST_SQLSRV_HOST: mssql | |
- name: Run tests (via act, no filter) | |
if: ${{ env.ACT && ! github.event.inputs.FILTER }} | |
run: COLUMNS=200 ./vendor/bin/pest -v --compact --colors=always | |
env: | |
DB_PASSWORD: password | |
DB_USERNAME: root | |
DB_DATABASE: main | |
TENANCY_TEST_MYSQL_HOST: mysql | |
TENANCY_TEST_PGSQL_HOST: postgres | |
TENANCY_TEST_REDIS_HOST: redis | |
TENANCY_TEST_SQLSRV_HOST: mssql | |
- name: Run tests (via act, FILTERED) | |
if: ${{ env.ACT && github.event.inputs.FILTER }} | |
run: COLUMNS=200 ./vendor/bin/pest -v --filter ${{ github.event.inputs.FILTER }} --compact --colors=always | |
env: | |
DB_PASSWORD: password | |
DB_USERNAME: root | |
DB_DATABASE: main | |
TENANCY_TEST_MYSQL_HOST: mysql | |
TENANCY_TEST_PGSQL_HOST: postgres | |
TENANCY_TEST_REDIS_HOST: redis | |
TENANCY_TEST_SQLSRV_HOST: mssql | |
- name: Upload coverage to Codecov | |
if: ${{ !env.ACT }} | |
uses: codecov/codecov-action@v2 | |
with: | |
token: 24382d15-84e7-4a55-bea4-c4df96a24a9b # todo it's fine if this is here in plaintext, but move this to GH secrets eventually | |
services: | |
postgres: | |
image: postgres:latest | |
env: | |
POSTGRES_PASSWORD: password | |
POSTGRES_USER: root | |
POSTGRES_DB: main | |
ports: | |
- 5432/tcp | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3 | |
mysql: | |
image: mysql:8 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: false | |
MYSQL_ROOT_PASSWORD: password | |
MYSQL_DATABASE: main | |
ports: | |
- 3306/tcp | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
mysql2: | |
image: mysql:8 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: false | |
MYSQL_ROOT_PASSWORD: password | |
MYSQL_DATABASE: main | |
ports: | |
- 3306/tcp | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
mssql: | |
image: mcr.microsoft.com/mssql/server:2019-latest | |
ports: | |
- 1433/tcp | |
env: | |
ACCEPT_EULA: Y | |
SA_PASSWORD: P@ssword | |
options: --health-cmd "echo quit | /opt/mssql-tools18/bin/sqlcmd -C -S 127.0.0.1 -l 1 -U sa -P P@ssword" | |
redis: | |
image: redis | |
ports: | |
- 6379/tcp | |
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
memcached: | |
image: memcached | |
ports: | |
- 11211/tcp | |
# options: --health-cmd="/bin/nc -z 127.0.0.1 11211" --health-interval=10s --health-timeout=5s --health-retries=3 # TODO: Add a working health check | |
dynamodb: | |
image: amazon/dynamodb-local:latest | |
ports: | |
- 8000/tcp | |
# options: --health-cmd="/bin/nc -z 127.0.0.1 8000" --health-interval=10s --health-timeout=5s --health-retries=3 # TODO: Add a working health check | |
php-cs-fixer: | |
name: Code style (php-cs-fixer) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install php-cs-fixer | |
run: composer global require friendsofphp/php-cs-fixer:3.62.0 | |
- name: Run php-cs-fixer | |
run: $HOME/.composer/vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php | |
- name: Commit changes from php-cs-fixer | |
uses: EndBug/add-and-commit@v5 | |
with: | |
author_name: "PHP CS Fixer" | |
author_email: "phpcsfixer@example.com" | |
message: Fix code style (php-cs-fixer) | |
phpstan: | |
name: Static analysis (PHPStan) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.4' | |
- uses: actions/checkout@v2 | |
- name: Install composer dependencies | |
run: composer install | |
- name: Run phpstan | |
run: vendor/bin/phpstan analyse |