-
Notifications
You must be signed in to change notification settings - Fork 38
contributing
You'll need the follow tools installed to run locally:
The following tools are optional but recommended:
The jabba Java version manager is supported and can be used to install the correct version of Java.
If you choose to install Java manually the correct version can be found in the .jabbarc file.
It's recommended to install Node Version Manager and use that to install the correct version of Node.
If you choose to install Node manually the correct version can be found in the .nvmrc file.
Note for Mac OSX users, installing nvm via Homebrew is not recommended by the nvm team, you should use their install script instead.
This can be used to validate the CircleCI configuration file is valid before pushing. See https://circleci.com/docs/2.0/local-cli/ for full details on installing and usage.
The repo includes a lein.sh script that will automatically download the latest version of Leiningen if you don't already have it installed.
These tools can be easily installed on OSX using Homebrew.
The core team has never tried building on a Windows machine. Please help out by updating this section if any special steps are required!
You can run the develop.sh script to automatically watch all the sources and recompile, see the script for more information.
./develop.sh
Note, sourcing the develop script (. ./develop.sh
) seems to cause it to fail and hang. Currently not sure why, if anyone knows why and can supply a fix please submit a PR!
As we serve the static files from the Clojure backend, hot reloading is currently not supported, so you'll need to manually refresh to see any changes in the browser.
Once you are ready, run the pre-push.sh which mimics what the CI server will build.
Google API fonts can be downloaded for local hosting from localfont.
The icon font is from IcoMoon and only includes the current set of icons used. If you wish to include more icons you can upload the icomoon.json file into the IcoMoon App to recreate the Nevergreen project and get the correct set of icons.
To actually update the font in the repo you'll need to:
- Generate Font in the IcoMoon App and download the zip it creates.
- Overwrite the files in src/client/common/fonts/icons with the corresponding files in the fonts folder from the zip
- Overwrite the contents of icon_font.scss with the contents of 'style.css' from the zip
- Update the paths e.g.
fonts/icomoon.eot
should be updated tocommon/fonts/icons/icomoon.eot
- You'll need to fix linting issues such as quote usage
- Update the paths e.g.
- Re-download the project from the IcoMoon projects page and update icomoon.json file
If you make changes to the store and want those changes to be persisted between loads you will need to update the Configuration in Configuration.ts
, otherwise your new field will be filtered out on load and imports.
npm run build:schema-validator
For testing importing/exporting to GitLab locally you can use Docker with:
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 \
--name gitlab \
--restart always \
gitlab/gitlab-ce:latest
We maintain a list of issues/features on GitHub. The core team will assign any issues they are working on to themselves, so anything else is fair game. If you want to try tackling an issue, make sure to leave a comment so someone else doesn't also start working on it at the same time.
Conversely if you no longer have the time to work on an issue, please leave another comment so someone can pick up the issue. ❤️
We also have a label good first issues that we use to mark issues that would be good for someone new to the codebase to try picking up.
-
Try running
ulimit -n
and if this is low (e.g. 256) try updating it withulimit -n 1024
. -
Ensure your node version matches the version listed in the .nvmrc file.
-
If you previously installed node not via
nvm
your path might not get update correctly even if you install node for Nevergreen usingnvm
. Check your~/.bashrc
or~/.bash_profile
files to see if they manually add a path to node. -
Try deleting your
node_modules
folder and re-runningnpm install
. -
(MacOSX) Make sure
nvm
was installed via their install script and not Homebrew. -
Run
develop.sh
andpre-push.sh
without sourcing.
- Christopher Martin - Founder / Developer
- Ste Cowley - Founder / Developer
- Joe Wright - Founder / Developer
- Doug Stuart - Logo
- George Gray - UI
- Manasi Kulkarni - Developer
- Livingston Samuel - UI
- Jimmy Thompson - Developer
- Michal Olszewski - Developer
- Darren Haken - Developer
- Vinh Bachsy - Developer
- Arunvel Sriram - Developer
- Rafael Ferreira - Developer
- Prateek - Developer
- Tharun Rajendran - Developer