Skip to content

Commit

Permalink
Setup github actions and gitpod
Browse files Browse the repository at this point in the history
  • Loading branch information
pookmish committed Sep 28, 2023
1 parent 6caf3cf commit c26fcb2
Show file tree
Hide file tree
Showing 12 changed files with 385 additions and 152 deletions.
112 changes: 0 additions & 112 deletions .circleci/config.yml

This file was deleted.

8 changes: 8 additions & 0 deletions .github/auto-label.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"rules": {
"patch": ["*.info.yml"],
"frontend": ["*.js", "*.scss", "*.css", "*.twig", ".theme"],
"backend": ["*.php", "*.module"],
"ci": [".circleci", "blt", ".github"]
}
}
28 changes: 28 additions & 0 deletions .github/workflows/label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This workflow will triage pull requests and apply a label based on the
# paths that are modified in the pull request.
#
# To use this workflow, you will need to set up a .github/labeler.yml
# file with configuration. For more information, see:
# https://github.com/actions/labeler/blob/master/README.md

name: PR Labeler
on:
pull_request:
types: [opened, synchronize]
jobs:
pr-labeler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: codelytv/pr-size-labeler@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
xs_max_size: '100'
s_max_size: '500'
m_max_size: '1000'
l_max_size: '3000'
fail_if_xl: 'false'
message_if_xl: ''
- uses: banyan/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
211 changes: 211 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
name: PHPUnit and Acceptance Tests
on: [push]
jobs:
phpunit:
name: PHPUnit Coverage Tests
runs-on: ubuntu-latest
env:
DRUPAL_DATABASE_NAME: drupal
DRUPAL_DATABASE_USERNAME: drupal
DRUPAL_DATABASE_PASSWORD: drupal
DRUPAL_DATABASE_HOST: mysql
container:
image: pookmish/drupal8ci:latest
services:
mysql:
image: mysql:5.7
env:
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
MYSQL_ROOT_PASSWORD: drupal
ports:
- 33306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- uses: actions/checkout@v3
- name: Restore Cache
uses: actions/cache@v3
with:
path: |
vendor
docroot/core
docroot/libraries
docroot/modules/contrib
key: 1.x-${{ hashFiles('composer.json') }}-${{ hashFiles('composer.lock') }}
restore-keys: |
1.x-${{ hashFiles('composer.json') }}-${{ hashFiles('composer.lock') }}
1.x-${{ hashFiles('composer.json') }}-
1.x-
- name: Run Unit Tests
env:
CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
run: |
composer install -n
blt blt:telemetry:disable --no-interaction
blt tests:phpunit:coverage --no-interaction
- name: Save Test Results
uses: actions/upload-artifact@v3
if: failure()
with:
name: unit-tests-results
path: $GITHUB_WORKSPACE/artifacts
acceptance:
name: Cardinal At Work Codeception Acceptance Tests
runs-on: ubuntu-latest
env:
DRUPAL_DATABASE_NAME: drupal
DRUPAL_DATABASE_USERNAME: drupal
DRUPAL_DATABASE_PASSWORD: drupal
DRUPAL_DATABASE_HOST: mysql
container:
image: pookmish/drupal8ci:latest
services:
mysql:
image: mysql:5.7
env:
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
MYSQL_ROOT_PASSWORD: drupal
ports:
- 33306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- uses: actions/checkout@v3
- name: Restore Cache
uses: actions/cache@v3
with:
path: |
vendor
docroot/core
docroot/libraries
docroot/modules/contrib
key: 1.x-${{ hashFiles('composer.json') }}-${{ hashFiles('composer.lock') }}
restore-keys: |
1.x-${{ hashFiles('composer.json') }}-${{ hashFiles('composer.lock') }}
1.x-${{ hashFiles('composer.json') }}-
1.x-
- name: Run tests
run: |
rm -rf /var/www/html
ln -snf $GITHUB_WORKSPACE /var/www/html
apachectl stop
apachectl start
composer install -n
blt blt:telemetry:disable --no-interaction
mysql -h mysql -P 3306 -u root -pdrupal -e 'SET GLOBAL max_allowed_packet=67108864;'
blt gryphon-ci:drupal:install --profile=vpge_profile --no-interaction
blt drupal:install -n
drush role:perm:add anonymous 'access content'
drush xmlsitemap:rebuild
blt codeception --suite=acceptance
- name: Save Test Results
uses: actions/upload-artifact@v3
if: always()
with:
name: acceptance-tests-results
path: artifacts
functional:
name: Cardinal At Work Codeception Functional Tests
runs-on: ubuntu-latest
env:
DRUPAL_DATABASE_NAME: drupal
DRUPAL_DATABASE_USERNAME: drupal
DRUPAL_DATABASE_PASSWORD: drupal
DRUPAL_DATABASE_HOST: mysql
container:
image: pookmish/drupal8ci:latest
options: '--network-alias drupal8ci'
services:
selenium:
image: selenium/standalone-chrome:115.0
options: '--shm-size="2g"'
mysql:
image: mysql:5.7
env:
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
MYSQL_ROOT_PASSWORD: drupal
ports:
- 33306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- uses: actions/checkout@v3
- name: Restore Cache
uses: actions/cache@v3
with:
path: |
vendor
docroot/core
docroot/libraries
docroot/modules/contrib
docroot/modules/custom
key: 1.x-${{ hashFiles('composer.json') }}-${{ hashFiles('composer.lock') }}
restore-keys: |
1.x-${{ hashFiles('composer.json') }}-${{ hashFiles('composer.lock') }}
1.x-${{ hashFiles('composer.json') }}-
1.x-
- name: Install Site
run: |
rm -rf /var/www/html
ln -snf $GITHUB_WORKSPACE /var/www/html
apachectl stop
apachectl start
composer install -n
blt blt:telemetry:disable --no-interaction
mysql -h mysql -P 3306 -u root -pdrupal -e 'SET GLOBAL max_allowed_packet=67108864;'
blt gryphon-ci:drupal:install --profile=vpge_profile --no-interaction
drush role:perm:add anonymous 'access content'
drush xmlsitemap:rebuild
mkdir -p artifacts/_data/
- name: Run tests
run: blt codeception --suite=functional
- name: Save Test Results
uses: actions/upload-artifact@v3
if: always()
with:
name: functional-tests-results
path: artifacts
# deploy:
# name: Deploy Artifact
# needs: [phpunit, acceptance, functional]
# runs-on: ubuntu-latest
# env:
# DRUPAL_DATABASE_NAME: drupal
# DRUPAL_DATABASE_USERNAME: drupal
# DRUPAL_DATABASE_PASSWORD: drupal
# DRUPAL_DATABASE_HOST: mysql
# container:
# image: pookmish/drupal8ci:latest
# steps:
# - uses: actions/checkout@v3
# - name: Restore Cache
# uses: actions/cache@v3
# with:
# path: |
# vendor
# docroot/core
# docroot/libraries
# docroot/modules/contrib
# key: 1.x-${{ hashFiles('composer.json') }}-${{ hashFiles('composer.lock') }}
# restore-keys: |
# 1.x-${{ hashFiles('composer.json') }}-${{ hashFiles('composer.lock') }}
# 1.x-${{ hashFiles('composer.json') }}-
# 1.x-
# - name: Deploy Artifact
# env:
# SSH_KEY: ${{secrets.SSH_KEY}}
# run: |
# mkdir -p ~/.ssh
# echo $SSH_KEY | base64 -d > ~/.ssh/id_rsa
# chmod 600 ~/.ssh/id_rsa
# eval `ssh-agent -s`
# ssh-add ~/.ssh/id_rsa
# ssh-keyscan svn-23450.prod.hosting.acquia.com > ~/.ssh/known_hosts
# git config --global user.email "[email protected]"
# git config --global user.name "Github Actions"
# composer install -n
# blt blt:telemetry:disable --no-interaction
# blt deploy -v -n
Loading

0 comments on commit c26fcb2

Please sign in to comment.