Note that if your db user does not have advanced privileges you must create the db manually before running this command.
bundle exec rake setup
The setup task is a alias for gitlab:setup. This tasks calls db:reset to create the database, calls add_limits_mysql that adds limits to the database schema in case of a MySQL database and finally it calls db:seed_fu to seed the database. Note: db:setup calls db:seed but this does nothing.
In order to run the test you can use the following commands:
rake spinach to run the spinach suiterake spec to run the rspec suiterake karma to run the karma test suiterake gitlab:test to run all the testsNote: Both rake spinach and rake spec takes significant time to pass. Instead of running full test suite locally you can save a lot of time by running a single test or directory related to your changes. After you submit merge request CI will run full test suite for you. Green CI status in the merge request means full test suite is passed.
Note: You can't run rspec . since this will try to run all the _spec.rb files it can find, also the ones in /tmp
To run a single test file you can use:
bundle exec rspec spec/controllers/commit_controller_spec.rb for a rspec testbundle exec spinach features/project/issues/milestones.feature for a spinach testTo run several tests inside one directory:
bundle exec rspec spec/requests/api/ for the rspec tests if you want to test API onlybundle exec spinach features/profile/ for the spinach tests if you want to test only profile pagesIf you want to use Spring set ENABLE_SPRING=1 in your environment.
bundle exec rake services:doc
To update the Emoji digests file (used for Emoji autocomplete) you must run the following:
bundle exec rake gemojione:digests
This will update the file fixtures/emojis/digests.json based on the currently available Emoji.
Generating a sprite file containing all the Emoji can be done by running:
bundle exec rake gemojione:sprite
If new emoji are added, the spritesheet may change size. To compensate for such changes, first generate the emoji.png spritesheet with the above Rake task, then check the dimensions of the new spritesheet and update the SPRITESHEET_WIDTH and SPRITESHEET_HEIGHT constants accordingly.