Skip to content
This repository has been archived by the owner on Nov 10, 2020. It is now read-only.

Continuous integration tools

Jeremia Kimelman edited this page Mar 13, 2018 · 3 revisions

Every time we open a pull request in GitHub, several tools help ensure that it’s okay to merge into our existing code base and up to our standards. These include (ordered as they show up in Github pull requests):

CircleCI

Circle runs a number of tests to make sure the build process runs and data tests pass and is configured in the circle.yml file.

Right now, it just runs npm run test which executes tests on our Javascript files.

Federalist staging build

This step runs our site build on Federalist’s staging site, which is the pre-production version of Federalist. Essentially, this is a test of upcoming Federalist changes, not site changes. If the staging build fails, contact the Federalist team ASAP to let them know so they can address the issue before releasing the next version of the platform!

Federalist build

This step builds the preview on Federalist, which allows for review of changes and confirms that the changes don’t prevent the site from building correctly. Federalist runs the federalist npm task in package.json, then it runs jekyll and finally pushes the resulting files to AWS S3. Federalist uses the .ruby-version file and the .nvmrc file to determine which version of Ruby and Node, respectively, to use in the build. As a note, our local development environment uses the Dockerfile to determine which versions of those languages to use. We want to reconcile this (#2653), but haven't done so yet.

Hound

This tool reviews the code for proper syntax, whitespace, and other norms and best practices. Hound settings are managed in .hound.yml file.

Clone this wiki locally