PHPackages                             pantheon-systems/circle-scripts - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. pantheon-systems/circle-scripts

AbandonedArchivedLibrary[DevOps &amp; Deployment](/categories/devops)

pantheon-systems/circle-scripts
===============================

Use Circle CI to build a Drupal site with Composer, test with Behat, and then deploy to Pantheon.

1.0.3(10y ago)42881[1 issues](https://github.com/pantheon-systems/circle-scripts/issues)1Shell

Since Jul 13Pushed 10y ago22 watchersCompare

[ Source](https://github.com/pantheon-systems/circle-scripts)[ Packagist](https://packagist.org/packages/pantheon-systems/circle-scripts)[ RSS](/packages/pantheon-systems-circle-scripts/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (5)Used By (1)

This project is deprecated; it has been replaced with a newer and more comprehensive [example Drupal 7 Circle CI Composer project](https://github.com/pantheon-systems/example-drupal7-circle-composer), which can be used to quickly create your own derived project.

Original Documentation
----------------------

[](#original-documentation)

This project is designed to be included from the **require** section of a Drupal site's `composer.json` file. Doing this allows you to achieve the following things:

- Specify the Drupal modules, themes and libraries you use in your composer.json file, and build them with Composer.
- Automatically build components via Circle CI every commit.
- Use Behat to run tests on your site from Circle CI.
- Automatically deploy your site to your Pantheon dev environment, or some other branch, every time the tests pass.

All of this can be accomplished with only a few light files committed to your repository.

Setup
-----

[](#setup)

Copy the contents of the `examples` directory to the root of your project, renaming files as appropriate:

```
  example.gitignore     -> .gitignore
  example.circle.yml    -> circle.yml
  example.behat.yml     -> behat.yml
  features              -> features

```

You will also need a composer.json file for your project. The project [example-drupal7-circle-composer](https://github.com/pantheon-systems/example-drupal7-circle-composer) can be used as a template to quickly create your own project; for Drupal 8, see [drupal-composer/drupal-project](https://github.com/drupal-composer/drupal-project).

Configuration
-------------

[](#configuration)

You must customize the contents of these files to suit the needs of your project. See the detailed instructions below; more information is also available in the comments inside each file.

#### Composer

[](#composer)

Do not use the composer.json file included in the pantheon-systems/circle-scripts project; instead, use one from a project mentioned in the section **Setup**, above.

Set the **name** and **description** in your composer.json file to something appropriate for your project.

Customize the **require** section to contain the modules and themes needed for your project. You might want to try using [drush composer-generate](https://www.drupal.org/project/composer_generate) to get started. If you want to run your site on Pantheon, then you should keep "pantheon-systems/drops-7" as your main component; otherwise, you may replace this with "drupal/drupal" if you prefer.

The custom installers in the **require** section of your composer.json file control the way the components in your project are installed. Always keep these items at the top, so that they are available at the very beginning of the installation process. Modules and themes listed before the custom installers might not install correctly.

#### Circle CI

[](#circle-ci)

Set up your project to be tested by Circle CI:

- Log on to  in your web browser.
- Click on the "+", "Add Projects", on the left-hand menu bar.
- Find the repository you would like to configure to test. Navigate to the right organization, if necessary, and use the "Filter repos..." field to reduce the size of the displayed list.
- Click "Build Project" to enable the repository and build it for the first time.

Next, set up the environment variables used by the push-to-pantheon script:

Variable NameValueSITE\_NAMEThe name of the site used in "Site Install"PSITEThe name of the Pantheon site to push toPENVThe Pantheon site environment to overwrite on each testPEMAILThe email used to log in to a Pantheon User with access to the sitePPASSThe password for the acount specified by PEMAILCI\_BOT\_EMAILThe email address to use in the git commit attributionCI\_BOT\_NAMEThe name to use in the git commit attributionEdit these in Project Settings &gt; Environment Variables ().

You also need to set up an ssh key, so that the push-to-pantheon script can commit changes to the Pantheon git repository.

- [Create a public/private ssh key pair](https://help.github.com/articles/generating-ssh-keys/). You might want to use a different key than the one you use with GitHub.
- [Add the public ssh key to your Pantheon account](https://pantheon.io/docs/articles/users/loading-ssh-keys/).
- [Add the private ssh key to Circle CI](https://circleci.com/docs/permissions-and-access-during-deployment). You may either leave the "Host" field blank, or set it to "codeserver.$PENV.$PUUID.drush.in", where "$PENV" is replaced with the same value you used in the PENV environment variable, and "$PUUID" is replaced with the [UUID for your Pantheon site](https://pantheon.io/docs/articles/sites/).

See the [Circle CI documentation](https://circleci.com/docs/getting-started) for more information on configuration.

#### Behat

[](#behat)

This sample is set up to run a single behat test that confirms that the name of the site was set correctly by `drush site-install`. Note that the first part of the site name is set by the `SITE_NAME` environment variable that you customize in your .travis.yml file; the second part of the site name is set to `Travis Test Site` on Travis, and `Pantheon Test Site` on Pantheon.

See the [behat documentation](http://docs.behat.org/en/latest/) for further instructions on adding more tests to your project.

Local Testing
-------------

[](#local-testing)

Once setup is complete, doing local testing is a simple matter of:

```
$ composer install
$ ./bin/local-test

```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~7 days

Total

4

Last Release

3940d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b34cc6bd882277b6c6dda19bf6631ae5c3a909fd667c826a15121642cdc051b2?d=identicon)[greg.1.anderson](/maintainers/greg.1.anderson)

![](https://www.gravatar.com/avatar/5a89f5f15357797cbd6ec7833a28626478ae3c0ceb5fa1faa8a26d0960584c65?d=identicon)[pantheon-systems](/maintainers/pantheon-systems)

---

Top Contributors

[![greg-1-anderson](https://avatars.githubusercontent.com/u/612191?v=4)](https://github.com/greg-1-anderson "greg-1-anderson (63 commits)")

### Embed Badge

![Health badge](/badges/pantheon-systems-circle-scripts/health.svg)

```
[![Health](https://phpackages.com/badges/pantheon-systems-circle-scripts/health.svg)](https://phpackages.com/packages/pantheon-systems-circle-scripts)
```

###  Alternatives

[deployer/deployer

Deployment Tool

11.1k25.4M207](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
