Split ci.yml into separate workflows
Split the `install` and `tests` jobs from `ci.yml` into their own separate workflows.
This commit is contained in:
parent
1781a2cf01
commit
d7d5a6c8a3
90
.github/workflows/ci.yml
vendored
90
.github/workflows/ci.yml
vendored
|
@ -1,90 +0,0 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
install:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: Test site installation
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.composer/cache/files
|
||||
key: dependencies-composer-${{ hashFiles('composer.json') }}
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: 7.4
|
||||
extensions: mbstring
|
||||
coverage: none
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer install --prefer-dist --no-interaction --no-suggest
|
||||
|
||||
- name: Install Drupal
|
||||
run: >
|
||||
vendor/bin/drush --root=$(pwd)/web
|
||||
site:install -y
|
||||
--existing-config
|
||||
--db-url=sqlite://sites/default/files/.ht.sqlite
|
||||
|
||||
- name: Start a web server
|
||||
run: php -S localhost:8000 -t web 2>&1 &
|
||||
|
||||
- name: Test loading the home page
|
||||
run: curl http://localhost:8000
|
||||
|
||||
- name: Verify the home page has the site name in it
|
||||
run: curl -s http://localhost:8000 | grep "Oliver Davies"
|
||||
|
||||
tests:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: "Run ${{ matrix.test-types }} tests"
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
test-types:
|
||||
- functional
|
||||
- kernel
|
||||
- unit
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.composer/cache/files
|
||||
key: dependencies-composer-${{ hashFiles('composer.json') }}
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: 7.4
|
||||
extensions: mbstring
|
||||
coverage: none
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer install --prefer-dist --no-interaction --no-suggest
|
||||
|
||||
- name: Start the local web server
|
||||
run: php -S localhost:8000 -t web 2>&1 &
|
||||
if: matrix.test-types == 'functional'
|
||||
|
||||
- name: Execute tests
|
||||
run: vendor/bin/phpunit --testdox --colors=always --testsuite=${{ matrix.test-types }}
|
||||
env:
|
||||
SIMPLETEST_BASE_URL: http://localhost:8000
|
54
.github/workflows/drupal-install.yml
vendored
Normal file
54
.github/workflows/drupal-install.yml
vendored
Normal file
|
@ -0,0 +1,54 @@
|
|||
name: Drupal installation
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
install:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: Test Drupal site installation
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: |
|
||||
~/.composer/cache/files
|
||||
web/core
|
||||
web/modules/contrib
|
||||
web/themes/contrib
|
||||
vendor
|
||||
key: dependencies-composer-${{ hashFiles('composer.json') }}
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: 7.4
|
||||
extensions: mbstring
|
||||
coverage: none
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer install --prefer-dist --no-interaction --no-suggest
|
||||
|
||||
- name: Install Drupal
|
||||
run: >
|
||||
vendor/bin/drush --root=$(pwd)/web
|
||||
site:install -y
|
||||
--existing-config
|
||||
--db-url=sqlite://sites/default/files/.ht.sqlite
|
||||
|
||||
- name: Start a web server
|
||||
run: php -S localhost:8000 -t web 2>&1 &
|
||||
|
||||
- name: Test loading the home page
|
||||
run: curl http://localhost:8000
|
||||
|
||||
- name: Verify the home page has the site name in it
|
||||
run: curl -s http://localhost:8000 | grep "Oliver Davies"
|
54
.github/workflows/phpunit.yml
vendored
Normal file
54
.github/workflows/phpunit.yml
vendored
Normal file
|
@ -0,0 +1,54 @@
|
|||
name: Run PHPUnit tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
phpunit:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: "Run ${{ matrix.test-types }} tests"
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
test-types:
|
||||
- functional
|
||||
- kernel
|
||||
- unit
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: |
|
||||
~/.composer/cache/files
|
||||
web/core
|
||||
web/modules/constrib
|
||||
web/themes/contrib
|
||||
vendor
|
||||
key: dependencies-composer-${{ hashFiles('composer.json') }}
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: 7.4
|
||||
extensions: mbstring
|
||||
coverage: none
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer install --prefer-dist --no-interaction --no-suggest
|
||||
|
||||
- name: Start the local web server
|
||||
run: php -S localhost:8000 -t web 2>&1 &
|
||||
if: matrix.test-types == 'functional'
|
||||
|
||||
- name: Execute tests
|
||||
run: vendor/bin/phpunit --testdox --colors=always --testsuite=${{ matrix.test-types }}
|
||||
env:
|
||||
SIMPLETEST_BASE_URL: http://localhost:8000
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -2,7 +2,7 @@
|
|||
!*/
|
||||
!/.gitignore
|
||||
!/**/.gitkeep
|
||||
!/.github/
|
||||
!/.github/**
|
||||
!/.idea/
|
||||
!/bin/
|
||||
!/config/**
|
||||
|
|
Loading…
Reference in a new issue