-
Notifications
You must be signed in to change notification settings - Fork 50
Create a new Repository on GitHub
NOTE This is an internal document for setting up a new repository as part of the Dojo organisation.
In most cases you should be copying the HEAD of master of dojo/dojo2-package-template
. This contains the scaffold of what should go in the repo. Be kind, and if you find an issue with the template, raise an issue or a PR so others can learn from your sage wisdom.
Once you have it cloned, it is best to reset the repo so none of the commit history of the template comes over to the new repo:
$ cp -r dojo2-package-template my-awesome-package
$ cd my-awesome-package
$ rm -rf .git
$ git init .
$ git add .
You should ensure that the new package name is reflected in the following files:
/package.json
/README.md
/tests/intern.ts
Add the appropriate Breowserstack or Saucelabs credentials to /.travis.yml
.
Once you have edited the package.json
you should be able to do an npm install
which should add the appropriate package tooling. Then grunt
, grunt test
and grunt dist
should work.
You need dojo
organisational admin rights to setup a new repo.
Go to the organisational page, and click the New repository button. Enter the name on the next page. Add a description that matches the description used in the package.json
and README.md
. Do not choose to initialise the repository.
You can now push the repository that your created:
$ git remote add origin [email protected]:dojo/my-awesome-package.git
$ git push -u origin master
Refreshing the GitHub page for the repo should provide you with the repo.
Go into the settings tab and adjust the following settings:
- Options -> Features -> Wikis - disable this
- Options -> Features -> Merge Button - disable this
- Collaborators & Teams - add the Dojo 2 Committers team with Admin access
- Webhooks
- Add
https://webhooks.gitter.im/e/f117a5b2933baacadb84
asapplication/json
with Issues, Pull Requests, Push ticked - Add
https://hooks.slack.com/services/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
asapplication/json
with an appropriate amount of information being sent.
- Add
Travis settings are determined by your repo rights and you need admin rights on the repo in question.
- Go to the Travis Dojo Profile page (if you can't access this, you don't have the proper rights).
- You will likely have to Sync account to have Travis pick up the newly created repo.
- Should then be able to toggle the build on for the repo.
- Select the settings icon to the right of the toggle.
- Enable Build only if .travis.yml is present
- Enable Limit concurrent jobs and set to 1
- Enable Auto cancel branch builds
- Enable Auto cancel pull request builds
On the next push to the repo, Travis CI could complete
TODO Add information about Appveyor for NodeJS packages.
This should generally be an automatic process.
Ensure that you have the ZenHub plugin added to your browser and that you are logged into ZenHub. Then navigate to the main meta boards.
Click on the Repos dropdown:
Scroll to the end and find the Add a Repo + link. Choose the repository to merge.
You should update the dojo/meta/README.md
with appropriate information about the package. Also, you should add the package to dojo/meta/data/packages.json
, which will ensure that applications that depend on this information are updated correctly.
Also, update the markdown in GitHub Helpers wiki page with the repo.
For publishing to NPM the first time, you should use the following command:
$ grunt release --pre-release-tag=<<APPROPRIATE TAG>> --initial --push-back