Rails application that serves most pages on www.gov.uk/government
Ruby HTML CSS JavaScript Cucumber Shell
Latest commit be7e6f4 Sep 29, 2016 @bevanloon bevanloon committed on GitHub Merge pull request #2768 from alphagov/fatality-notices
Send complete Fatality Notice to Publishing API
Failed to load latest commit information.
app Merge pull request #2768 from alphagov/fatality-notices Sep 29, 2016
bench Further presenter refactor and renaming Jul 12, 2016
bin Remove spring. Jul 10, 2015
carrierwave-tmp Add explicit carrierwave-tmp dir Aug 23, 2013
config Merge pull request #2738 from alphagov/new-style-gds-api Sep 6, 2016
db Add data migration to republish Fatality Notices Sep 28, 2016
docs Fetch tags from publishing-api instead of content-api Sep 5, 2016
features Use expanded links to resolve the grandparent in SpecialistTagFinder Sep 13, 2016
lib Fix first_public_at date format issue Sep 29, 2016
log Quite literally the initial commit. Sep 19, 2011
public Amended comment from 404 to 403 Mar 16, 2015
script Fix republish errors to recover from Aug 31, 2016
test Merge pull request #2768 from alphagov/fatality-notices Sep 29, 2016
vendor/assets/stylesheets Revert "Revert "Merge pull request #571 from alphagov/rails-upgrade"" Jun 20, 2013
.gitignore Add .DS_Store to gitignore Aug 15, 2016
.ruby-version Upgrade Ruby to 2.2.3 Jan 7, 2016
.yardopts Cope with search bots adding [] to param keys Jul 3, 2013
CONTRIBUTING.md Replace Travis guidance with Jenkins Oct 2, 2015
Gemfile Change all instances of unified_search to search Sep 2, 2016
Gemfile.lock Change all instances of unified_search to search Sep 2, 2016
LICENCE Fix the copyright notice Feb 18, 2015
Procfile Add Foreman worker to run Sidekiq Sep 27, 2013
README.md Fix typo in README Apr 12, 2016
Rakefile Bring back basic logging for tests Oct 17, 2014
config.ru Add Raindrops to Rack configuration Oct 22, 2013
convert-tables.sh Remove detailed guide categories from database Aug 7, 2015
jenkins-schema.sh Use standard GitHub status for contract tests Sep 23, 2016
jenkins.sh Move ENV variables to test helper May 24, 2016
startup.sh Don't override passed in STATIC_DEV env var in startup.sh Aug 13, 2014


Code Climate

Whitehall App

"Whitehall" is the code name for the Inside Government project, which aims to bring Government departments online in a consistent and user-friendly manner. Documentation can be found on rdoc.


  • Govspeak A variation of Markdown used throughout 'Whitehall' as the general publishing format

Technical Documentation

Whitehall is a Rails 4 app built on a MySQL database. It is deployed in two modes, 'admin' for publishers to create and manage content and 'frontend' for rendering content under https://www.gov.uk/government. In addition to storing and managing its own content database Whitehall also updates various other APIs including search and is currently being migrated towards a new publishing model utilising Publishing API and Content Store.


  • Xcode (for the Command Line Tools xcode-select --install)
  • Ruby 2.2.3
  • Rubygems and Bundler
  • Mysql
  • Imagemagick and Ghostscript (for generating thumbnails of uploaded PDFs)
  • xpdf (first download XQuartz)
  • PhantomJS (for running the Javascript tests)

Running the application

The application can be started with

bundle exec rails s

Note that the application itself will respond to requests on the root URL / with a routing error. To check that it works, try visiting /government/admin and /government/organisations.

Further setup instructions are available in the detailed setup guide

Running the test suite

See the testing guide


GOV.UK shares assets (eg stylesheets and JavaScript) across apps using the slimmer gem and the static app.

See the local asset setup guide


The Whitehall app relies on Rummager for document indexing, and the GOV.UK frontend application to serve results.

See the search setup guide

Other guides



Creating new users

Contributing guide

Generating the documentation

We use YARD for the documentation. You can generate a local copy with:

yard server --reload

You can also read the docs on rdoc.info.


MIT License