This site requires JavaScript to be enabled
An updated version of this article is available

Drupal on Pantheon git repo updating and site build best practices

43 views

29.0 - Last modified on 09-30-2025 Revised by Shelby Shone

28.0 - Last modified on 09-23-2025 Revised by David Baniszewski

27.0 - Last modified on 08-11-2025 Revised by Shelby Shone

26.0 - Last modified on 08-07-2025 Revised by David Baniszewski

25.0 - Last modified on 08-07-2025 Revised by Shelby Shone

24.0 - Last modified on 06-02-2025 Revised by David Baniszewski

23.0 - Last modified on 06-02-2025 Revised by Shelby Shone

22.0 - Last modified on 05-27-2025 Revised by David Baniszewski

21.0 - Last modified on 05-22-2025 Revised by David Baniszewski

20.0 - Last modified on 02-03-2025 Revised by Michael Arsenault

19.0 - Last modified on 02-03-2025 Revised by Robert Hopkins

18.0 - Last modified on 02-03-2025 Revised by David Baniszewski

17.0 - Last modified on 02-03-2025 Revised by Sussan Dehghan-Kavoosi

16.0 - Last modified on 02-03-2025 Revised by David Baniszewski

15.0 - Last modified on 02-03-2025 Revised by David Baniszewski

14.0 - Last modified on 02-03-2025 Revised by David Baniszewski

13.0 - Last modified on 02-03-2025 Revised by David Baniszewski

12.0 - Last modified on 02-03-2025 Revised by Lauren Kuza

11.0 - Last modified on 02-03-2025 Revised by David Baniszewski

8.0 - Last modified on 02-03-2025 Revised by David Baniszewski

7.0 - Last modified on 02-03-2025 Revised by David Baniszewski

6.0 - Last modified on 02-03-2025 Revised by David Baniszewski

5.0 - Last modified on 02-03-2025 Revised by David Baniszewski

4.0 - Last modified on 02-03-2025 Revised by David Baniszewski

3.0 - Last modified on 02-03-2025 Revised by David Baniszewski

2.0 - Last modified on 02-03-2025 Revised by David Baniszewski

1.0 - Created on 03-29-2022 Authored by David Baniszewski

The build process on Pantheon is done with Composer, the build prioritizes the composer.json and composer.lock file in the root of the repo, and builds out based on those two files. 


The Pantheon build process can balk anywhere it encounters files that it 'expects' to be from Composer being committed in the git repo itself.  Changing and committing files in directories where Composer puts files, especially force commits with git -f force to directories such as web/modules/composer can cause problems.


If you have custom code for themes or modules, they should be added to the directories below:


/web/sites/default/modules/custom

/web/sites/default/themes/custom

/web/sites/default/libraries


Pantheon also does not change its build restrictions based on changes to the .gitignore file.  Removing lines from the .gitignore and committing files in those now tracked directories can still lead to the Pantheon build process issues..


We therefore recommend committing only changes made with Composer to the composer.json and composer.lock files as the best practice for managing sites on Pantheon.  Libraries as well as modules can be added via Composer, and custom code should be added only to the appropriate /web/sites/default folder.


Resources:

What is Composer

Using Composer to install Drupal and manage dependencies

Updating a module