feat: add Drupal LocalGov example
This commit is contained in:
commit
17c5703d29
19 changed files with 1800 additions and 0 deletions
175
.github/workflows/test.yml
vendored
Normal file
175
.github/workflows/test.yml
vendored
Normal file
|
|
@ -0,0 +1,175 @@
|
|||
##
|
||||
# Managed by https://github.com/localgovdrupal/github_workflow_manager
|
||||
---
|
||||
name: Test localgovdrupal/localgov-project project
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '2.x'
|
||||
pull_request:
|
||||
branches:
|
||||
- '2.x'
|
||||
schedule:
|
||||
- cron: "0 7 * * *"
|
||||
|
||||
env:
|
||||
LOCALGOV_DRUPAL_PROJECT: localgovdrupal/localgov-project
|
||||
LOCALGOV_DRUPAL_PROJECT_PATH:
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: Install LocalGov Drupal
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
localgov-version: ["2.x"]
|
||||
drupal-version: ["~9.1"]
|
||||
php-version: ["7.4","8.1"]
|
||||
|
||||
steps:
|
||||
|
||||
- name: Save git branch and git repo names to env if this is not a pull request
|
||||
if: github.event_name != 'pull_request'
|
||||
run: |
|
||||
echo "GIT_BASE=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
|
||||
echo "GIT_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
|
||||
echo "GIT_REPO=${GITHUB_REPOSITORY}" >> $GITHUB_ENV
|
||||
|
||||
- name: Save git branch and git repo names to env if this is a pull request
|
||||
if: github.event_name == 'pull_request'
|
||||
run: |
|
||||
echo "GIT_BASE=${GITHUB_BASE_REF}" >> $GITHUB_ENV
|
||||
echo "GIT_BRANCH=${GITHUB_HEAD_REF}" >> $GITHUB_ENV
|
||||
echo "GIT_REPO=${{ github.event.pull_request.head.repo.full_name }}" >> $GITHUB_ENV
|
||||
|
||||
- name: Set composer branch reference for version branches
|
||||
if: endsWith(github.ref, '.x')
|
||||
run: echo "COMPOSER_REF=${GIT_BRANCH}-dev" >> $GITHUB_ENV
|
||||
|
||||
- name: Set composer branch reference for non-version branches
|
||||
if: endsWith(github.ref, '.x') == false
|
||||
run: echo "COMPOSER_REF=dev-${GIT_BRANCH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Cached workspace
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ./html
|
||||
key: localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-${{ github.run_id }}-${{ secrets.CACHE_VERSION }}
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-version }}
|
||||
|
||||
- name: Clone drupal_container
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: localgovdrupal/drupal-container
|
||||
ref: php${{ matrix.php-version }}
|
||||
|
||||
- name: Create LocalGov Drupal project
|
||||
run: composer create-project --stability dev localgovdrupal/localgov-project:${COMPOSER_REF} ./html
|
||||
|
||||
phpcs:
|
||||
name: Coding standards checks
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
localgov-version: ["2.x"]
|
||||
drupal-version: ["~9.1"]
|
||||
php-version: ["7.4","8.1"]
|
||||
|
||||
steps:
|
||||
|
||||
- name: Cached workspace
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ./html
|
||||
key: localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-${{ github.run_id }}-${{ secrets.CACHE_VERSION }}
|
||||
restore-keys: |
|
||||
localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-version }}
|
||||
|
||||
- name: Run coding standards checks
|
||||
run: |
|
||||
cd html
|
||||
./bin/phpcs -p ${LOCALGOV_DRUPAL_PROJECT_PATH}
|
||||
|
||||
phpstan:
|
||||
name: Deprecated code checks
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
localgov-version: ["2.x"]
|
||||
drupal-version: ["~9.1"]
|
||||
php-version: ["7.4","8.1"]
|
||||
|
||||
steps:
|
||||
|
||||
- name: Cached workspace
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ./html
|
||||
key: localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-${{ github.run_id }}-${{ secrets.CACHE_VERSION }}
|
||||
restore-keys: |
|
||||
localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-version }}
|
||||
|
||||
- name: Run deprecated code checks
|
||||
run: |
|
||||
cd html
|
||||
./bin/phpstan analyse -c ./phpstan.neon ./web/modules/contrib/localgov* ./web/profiles/contrib/localgov* ./web/themes/contrib/localgov*
|
||||
phpunit:
|
||||
name: PHPUnit tests
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
localgov-version: ["2.x"]
|
||||
drupal-version: ["~9.1"]
|
||||
php-version: ["7.4","8.1"]
|
||||
|
||||
steps:
|
||||
|
||||
- name: Clone Drupal container
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: localgovdrupal/drupal-container
|
||||
ref: php${{ matrix.php-version }}
|
||||
|
||||
- name: Cached workspace
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ./html
|
||||
key: localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-${{ github.run_id }}-${{ secrets.CACHE_VERSION }}
|
||||
restore-keys: |
|
||||
localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-
|
||||
|
||||
- name: Start Docker environment
|
||||
run: docker-compose -f docker-compose.yml up -d
|
||||
|
||||
- name: Run PHPUnit tests
|
||||
run: |
|
||||
mkdir -p ./html/web/sites/simpletest && chmod 777 ./html/web/sites/simpletest
|
||||
docker exec -t drupal bash -c 'chown docker:docker -R /var/www/html'
|
||||
docker exec -u docker -t drupal bash -c "cd /var/www/html && ./bin/paratest --processes=4"
|
||||
Reference in a new issue