Refer to doc for similar/old information. We'll be updating this readme from now on.
CI scripts for pantheon websites (Drupal and Wordpress) developed by Bluecadet.
Use cadet
utility to update your CI process. bc-ci-for-pantheon is the Default installer.
Commands: cadet ci-update
or cadet ci-update --incTestConfig
cadet ci-update --ci-version 2.1-latest
or cadet ci-update --ci-version 2.x-latest
This version was for Circle CI
This is for Gitrhub Actions, but with Pantheon sites w/out Integrated Composer
This is for Gitrhub Actions, but with Pantheon sites w/ Integrated Composer
ASSUMPTION: We make the assumption that DEV and TEST Pantheon environements will be kept up to date at a certain schedule. This is either done manually or can be run through a cron process. BC's typical dev setup should include this in the normal cron jobs run on the raspi. Default config is to do this every night.
ASSUMPTION: We make the assumption that tests do not fail CI, they only report back their findings. It is up to the dev team to push or not pushed based on the results.
When building and deploying to a new Multi-dev, the content will be copied from the DEV environment. For this to work with the tests properlly, the DEV env should be kept as up to date as possible with LIVE.
Each pipeline will decide which multi-dev env to create based on the structure below:
- IF master branch
- update DEV env on pantheon
- IF GITHUB Default branch (and not master) -- usually
develop
branch- multidev:
default-md
- clone content from DEV
- multidev:
- IF release branch (release/***)
- multidev:
rel-name
(name is first 5 chars of the branch name) - Will not clone content unless
[clone-content]
is in last git commit message
- multidev:
- IF release branch (persist/***)
- multidev:
name
(name is first 10 chars of the branch name) - Will not clone content
- Does NOT need a PR open
- NOTE: must manually delete
- multidev:
- IF pr
- multidev:
pr-pr##
- Will not clone content unless
[clone-content]
is in last git commit message
- multidev:
- IF normal commit
- Multidev:
ci-###
- Will always clone content
- Currently cancels all jobs... (mimicking build only PRs)
- Multidev:
** If we are not on master or default branch we'll load composer dev dependencies and push to pantheon, so we can run all PHPUNIT. We might be able to add more logic to this, b/c that adds a lot of code to add to Pantheon.
[clone-content]
- Updates for non-integrated Composer
- Add in yaml processing to figure out PHP version