Skip to content

Update roadrunner-test.yml #12

Update roadrunner-test.yml

Update roadrunner-test.yml #12

Workflow file for this run

name: Swoole test
on:
push:
branches:
- main
tags-ignore:
- '**'
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
jobs:
build:
name: Build and Run Docker image
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
php: [ 8.1, 8.2 ]
timeout-minutes: 15
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup PHP with Composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php }}"
extensions: dom, curl, libxml, mbstring, zip
tools: composer:v2
coverage: none
- name: Get Composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache PHP dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ matrix.setup }}
restore-keys: ${{ runner.os }}-composer-
- name: Create app directory
run: mkdir -p /var/www
- name: Install a fresh Laravel app
run: sudo composer create-project laravel/laravel app
working-directory: /var/www
- name: Install Laravel Octane
run: sudo composer require laravel/octane
working-directory: /var/www/app
- name: Copy required content to dockerize the app
run: sudo cp -R Dockerfile .dockerignore deployment/ /var/www/app/
- name: Build image
run: docker build -t app:local -f Dockerfile .
working-directory: /var/www/app
- name: Run the Docker image
run: docker run -d --rm -p 9000:9000 app:local
working-directory: /var/www/app
- name: Wait for the container
run: sleep 10s
- name: Check application health
run: curl -f -s -o /dev/null -w "%{http_code}" http://localhost:9000