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:
- Ask David Snopek for commit rights to the repo
- 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
- 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:
- Update the Pantheon "drops" repo: https://github.com/populist/panopoly-drops-7
- Update/close the "hitlist" issue and make a new one for the next release
- Make an announcement on https://groups.drupal.org/panopoly
- Update apps server if necessary: http://test-apps-pantheon.pantheonsite.io/
- Update .travis.yml so that it does upgrade tests from the new version (wait a bit so drush can find the version)