Continuous Integration

IMPORTANT: THE CI SCRIPTS ARE NOT MERGED INTO THE MAIN REPO YET!

About the CI

Torque3D has a full featured continuous integration system using the services appveyor and travis. This services are gratis for free/libre software projects and cost some money for proprietary projects. The system compiles, tests and deploys Torque. Deployment is activated for every commit with a tag in the master branch and for every commit in the development branch. If deployment is enabled, also html doxygen documentation will be generated and deployed to github pages. The doxyen documentation only gets generated using appveyor (Windows).

Adapt the Torque3D CI system for your own proprietary or free/libre project

All you have to do is to register and activate you project on appveyor and travis. If your project is proprietary, you have to pay for these services. After that you have to generate github repository access tokens and to update those variables in the .appveyor.yml and the .travis.yml files in your Torque root folder.
For travis see https://docs.travis-ci.com/user/deployment/releases/. The important text is

The recommended way to authenticate is to use a GitHub OAuth token. It must have the public_repo or repo scope to upload assets. Instead of setting it up manually, it is highly recommended to use travis setup releases1, which automatically creates and encrypts a GitHub oauth token with the correct scopes.

For appveyor see https://www.appveyor.com/docs/deployment/github/. The important text is

GitHub authentication token (auth_token) - OAuth token used for authentication against GitHub API. You can generate Personal API access token at https://github.com/settings/tokens. Minimal token scope is repo or public_repo to release on private or public repositories respectively. Be sure to encrypt your token using the Account → Encrypt data tool.

Note that the github token variable occurs two times in the .appveyor.yml file. Using one secure key variable two times didn't work for me. So we have to live with it. You also have to update the github email variable. You can therefore use the Account —> Encrypt data tool like before.

Testing/Debugging the CI system

Testing/Debugging the CI system is not quite fun. It's not so easy to reproduce the CI environment locally. I just flooded the github repo with commits. To "emulate" the development branch, I added

- ps: $env:appveyor_repo_branch="development"

at the beginning of .appveyor.yml and
- export $TRAVIS_BRANCH = development

at the beginning of .travis.yml.
Emulating tags works in the same way.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License