Skip to content

Laravel 12 (#35)

Laravel 12 (#35) #47

Workflow file for this run

name: build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
services:
mongo:
image: mongo:latest
env:
MONGO_INITDB_ROOT_USERNAME: testing
MONGO_INITDB_ROOT_PASSWORD: password
MONGO_INITDB_DATABASE: testing
ports:
- 27017:27017
mssql:
image: mcr.microsoft.com/mssql/server:2022-latest
env:
ACCEPT_EULA: Y
MSSQL_PID: Express
MSSQL_SA_PASSWORD: P@ssword
ports:
- 1433:1433
mysql:
image: mysql
env:
MYSQL_ROOT_PASSWORD: password
MYSQL_USER: testing
MYSQL_PASSWORD: password
MYSQL_DATABASE: testing
ports:
- 3306:3306
postgres:
image: postgres
env:
POSTGRES_USER: testing
POSTGRES_PASSWORD: password
POSTGRES_DB: testing
ports:
- 5432:5432
redis:
image: redis
ports:
- 6379:6379
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 10
- name: Install mssql-tools
run: |
sudo apt-get update
sudo apt-get install -y curl gnupg2
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools unixodbc-dev
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
- name: Validate composer.json and composer.lock
run: composer validate --strict
- name: Cache Composer packages
id: composer-cache
uses: actions/cache@v2
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Create databases
run: |
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "P@ssword" -Q "CREATE DATABASE testing;"
- name: Run test suite
run: composer test
env:
DB_HOST: 127.0.0.1