Challenge Overview
Project Overview
We are in the progress of improving the build and deployment of TopCoder Competition Engine, one important part is moving projects related to TopCoder Competition Engine to github and add support of CI Build.
Competition Task Overview
This contest is going to define ant tasks for cloning and pulling git repositories from github.Current Progress
Currently, The source code for TopCoder Competition Engine is hosted in various SVN repositories, and the checkout and build process is managed by glue project.
with the following scripts, we can checkout the complete code for TopCoder Competition Engine development, and structure like /home/apps/dev directory in Arena VM.
svn co https://coder.topcoder.com/internal/glue/trunk glue cd glue ant checkout -Dproject=client-socket ant checkout -Dproject=arena-client ant checkout -Dproject=arena-shared ant checkout -Dproject=farm-client ant checkout -Dproject=farm-deployer ant checkout -Dproject=farm-shared ant checkout -Dproject=farm-server ant checkout -Dproject=app ant checkout -Dproject=http-tunnel-client ant checkout -Dproject=http-tunnel-sever ant checkout -Dproject=nbio-listener ant checkout -Dproject=compeng-common ant checkout -Dproject=shared ant checkout -Dproject=custom-serialization ant checkout -Dproject=concurrent ant checkout -Dproject=logging ant checkout -Dproject=encoder ant checkout -Dproject=fraud ant checkout -Dproject=mpsqas-client ant checkout -Dproject=client-common
The svn related task like checkout etc can be found glue-svn.xml.
the web socket listener will be a lightweight layer to support web socket, and transfer data from/to the main listener.
GitHub Support
Currently, we are in the process of moving these projects to github, The initial movement is done.
- https://github.com/cloudspokes/glue
- https://github.com/cloudspokes/arena-client
- https://github.com/cloudspokes/app
- https://github.com/cloudspokes/arena-shared
- https://github.com/cloudspokes/shared
- https://github.com/cloudspokes/mpsqas-client
- https://github.com/cloudspokes/compeng-common
You can see there are many more projects, but since they are not changed often, we didn't take the movement yet.
The above are private repositories, you can have to create your own github account, and request read permission in forum
We'd like to define similar tasks, like checkout (clone in git), update (pull in git), pull-all etc.
So we can checkout the complete source code from github, similar as from SVN.
ant-git-tasks defines a set of basic Apache Ant tasks for Git to automate release processes, using the Eclipse JGit API.
If you want to use something else, please propose in forums or by email for approval.
Arena VM
Git is installed in Arena VM.
Before asking your own VM, you need to have a public key on your profile before asking for the VM.
You can find more details on how to generate a key http://apps.topcoder.com/wiki/display/projects/Generate+SSH+Key and how to connect using it http://apps.topcoder.com/wiki/display/projects/Connect+Using+SSH+Key.
To use the Arena VM, please follow http://apps.topcoder.com/wiki/display/docs/Competition+Engine+VM+Setup
Final Submission Guidelines
Submission Deliverables
Below is an overview of the deliverables:
- Code Changes for the solution
- A complete and detailed deployment documented explaining how to deploy the application including configuration information.
Final Submission
For each member, the final submission should be uploaded to the Online Review Tool.