@@ -4,7 +4,7 @@ contribution process easy and effective for everyone involved. These are just gu
4
4
judgment and feel free to propose changes to this document in a pull request or issue.
5
5
6
6
## Using the issue tracker
7
- The [ issue tracker] ( https://github.com/twbs/bootstrap /issues ) is the preferred channel for bug reports, feature
7
+ The [ issue tracker] ( https://github.com/cs-education/sysbuild /issues ) is the preferred channel for bug reports, feature
8
8
requests and [ submitting pull requests] ( #pull-requests ) .
9
9
10
10
Bug reports are extremely helpful, and are encouraged! Information about your environment, such as your browser and
@@ -14,6 +14,44 @@ You can also post on the chat room or reach out to the project team directly if
14
14
[ Community and Collaboration] ( README.md#community-and-collaboration ) section in the README for directions.
15
15
It also contains details on the project team's workflow.
16
16
17
+ If you would like to work on this project, see the information below to get started.
18
+
19
+ ## Project organization
20
+ This is the main repository for the project. Other repositories which are part of the project are:
21
+
22
+ * [ cs-education/jor1k] ( https://github.com/cs-education/jor1k ) - The virtual machine embedded into the browser
23
+
24
+ * [ cs-education/sysassets] ( https://github.com/cs-education/sysassets ) - Pre-compiled assets used in the project, such
25
+ as lecture videos, lessons, man pages, and the jor1k filesystem
26
+
27
+ We use [ GitHub Pages] ( https://help.github.com/articles/what-are-github-pages ) for hosting the application. The
28
+ repositories used for deployment are separate from this repository, to keep this repository small. You probably won't
29
+ be committing changes directly to these repositories, but instead use automated deployment scripts (see
30
+ [ Deploying] ( #deploying ) below). The following repositories are used for deployment:
31
+
32
+ * [ cs-education/sys-staging] ( https://github.com/cs-education/sys-staging ) - Staging deployment for the project, used
33
+ for testing before deploying to production
34
+
35
+ * [ cs-education/sys] ( https://github.com/cs-education/sys ) - Production deployment for the project
36
+
37
+ ## Structure of this repository
38
+ ```
39
+ sysbuild/
40
+ ├── app/ Application source code
41
+ │ ├── images/ Images/pictures
42
+ │ ├── jor1k/ The jor1k project source copied by grunt during setup
43
+ │ ├── scripts/ Javascript files
44
+ │ └── styles/ SASS and CSS files
45
+ ├── dist/ The distributable application output by the build process
46
+ ├── bower_components/ Dependencies installed by Bower
47
+ ├── node_modules/ Dependencies installed by npm
48
+ ├── sys-gh-pages-config/ Config for the application deployed on production
49
+ └── test/ Tests
50
+ └── spec/
51
+ ```
52
+
53
+ This project was scaffolded using the [ Yeoman webapp generator] ( https://github.com/yeoman/generator-webapp ) .
54
+
17
55
## Development environment set up
18
56
1 . [ Set up Git] ( https://help.github.com/articles/set-up-git/ ) and install [ Node.js] ( https://nodejs.org/ ) .
19
57
Node's package manager ([ npm] ( https://www.npmjs.org/ ) ) comes bundled.
@@ -104,7 +142,7 @@ changes from the main (upstream) repository:
104
142
` git checkout master `
105
143
106
144
3 . Delete the local branch:
107
- ` git branch -D my-fix- branch `
145
+ ` git branch -D <topic- branch-name> `
108
146
109
147
4 . Update your local ` master ` branch with the latest upstream version:
110
148
` git pull upstream master `
@@ -167,7 +205,25 @@ have a compelling reason for it.
167
205
* If your pull request contains a fix for a bug or implements a new feature, you can have the corresponding issue
168
206
[ closed automatically] ( https://github.com/blog/1506-closing-issues-via-pull-requests ) when the pull request is merged.
169
207
170
- ## Useful tools and tips for development
208
+ ## Deploying
209
+ ** NOTE** : You will need push access to the appropriate repository before you can deploy to an official URL. If you want
210
+ to deploy to your own repository or server, only perform the first (build) step and upload the contents of ` dist/ `
211
+ to your repository's ` gh-pages ` branch or to the web folder on your server.
212
+
213
+ 1 . Build the distributable project (output in the ` dist/ ` folder):
214
+ ` grunt build `
215
+
216
+ 2 . Deploy to [ staging] ( https://cs-education.github.io/sys-staging/ ) :
217
+ ` grunt deploy:staging `
218
+
219
+ 3 . Test out the application in staging and ensure things work as expected. Once things look good, please announce in
220
+ the chat room that you are going to deploy to production.
221
+
222
+ 4 . Deploy to [ production] ( https://cs-education.github.io/sys/ ) :
223
+ ` grunt deploy:prod `
224
+
225
+ ## Development notes
226
+ ### Useful commands
171
227
* Run ` grunt serve ` to start a local development server. It will automatically launch the default browser and navigate to
172
228
the local application. It will also watch files for changes - automatically running JSHint on changed JS files,
173
229
automatically compiling changed SASS files, etc. You do need to refresh the web page after making any changes
@@ -179,6 +235,16 @@ have a compelling reason for it.
179
235
* If you want to run the tests in a browser, run ` grunt testserver ` to start a local test server, then
180
236
navigate to ` http://localhost:9001 ` .
181
237
238
+ ### Travis CI configuration.
239
+ * [ We cache] ( .travis.yml ) Bower and npm dependencies to speed up builds. The caches can be accessed
240
+ [ on the web] ( https://travis-ci.org/cs-education/sysbuild/caches ) , which gives us a means to
241
+ [ delete the caches] ( http://docs.travis-ci.com/user/caching/#Clearing-Caches ) in case they are spoiled
242
+ by storing bad data in one of the cached directories.
243
+
244
+ * You can [ validate the .travis.yml file] ( http://docs.travis-ci.com/user/travis-lint/ ) before committing it to reduce
245
+ common build errors. Travis has a convenient [ web-based tool] ( https://lint.travis-ci.org/ ) where you can paste the
246
+ contents of .travis.yml for validation.
247
+
182
248
## License
183
249
By contributing your code, you agree to license your contribution under the terms of the
184
250
[ project's license] ( LICENSE.md ) .
0 commit comments