This documentation is for the co-maintainers of the Panopoly distribution. It acts as a place for us to keep notes (in case we forget) and to more easily on-board new maintainers.

Continuous integration

We are currently using Travis-CI.org for running our tests on commit. You can view our latest builds here:

https://travis-ci.org/panopoly/panopoly

If you want your commits to trigger the tests and get notifications if you've broken the build, then:

  1. Ask David Snopek for commit rights to the repo
  2. Add url = git@github.com:panopoly/panopoly.git as a second URL for "origin" in your .git/config, so that it looks like this, for example:
    [remote "origin"]
      fetch = +refs/heads/*:refs/remotes/origin/*
      url = <username>@git.drupal.org:project/panopoly.git
      url = git@github.com:panopoly/panopoly.git
    
  3. Sign-up for an account on Travis-CI.org and give it permission to access your GitHub account (this will allow it to send you the e-mails).

If you want to run tests on code that isn't yet committed upstream, you can either: (a) create a new branch in the shared repo or (b) fork the project on GitHub and register it with Travis-CI. The latter is recommended to keep the main repo clean!

Compatibility policy

Core Panopoly modules are only meant to work with Panopoly modules of the same version. So, panopoly_widgets 1.2 only works with panopoly_wysiwyg 1.2 - using panopoly_wysiwyg 1.1 might work, but is unsupported.

This sometimes means releasing versions that are identical, for example, panopoly_wysiwyg 1.1 could contain the same code as panopoly_wysiwyg 1.2 - you have to check the release notes.

The "core Panopoly modules" include everything in the drupal-org.make file. This does NOT include the Apps (ex. panopoly_news and panopoly_faq), with the exception of panopoly_demo, which we treat as a "core Panopoly module" for the purpose of releases and will make a new version for new Panopoly releases (even if there weren't any code changes).

Setting up .gitignore

Including a .gitignore file in the main repo can create problems for users, per this issue: https://drupal.org/node/2215829

So, we've decided to include some baseline patterns for git to ignore in gitignore.example instead.

To use them without worry of accidentally committing it to the repo, copy the gitignore.example file to .git/info/exclude:

  cp gitignore.example .git/info/exclude

Making releases

After all the release nodes are made for the modules and the profile, there are number of manual things that need to be done: