Skip to content
Thorsten Bux edited this page Dec 13, 2017 · 3 revisions

Continuous Delivery structure

We currently have a build-project, for each target platform (MacOS, Linux, Windows, Android, iOS). Each of these build projects has at least two workflows. One workflow is 'build-only' and one is 'build-and-deploy'. The difference between 'build-only' and 'build-and-deploy' is mainly that 'build-and-deploy' will deploy the built artifacts to an AWS storage whereas the 'build-only' won't. The aim of 'build-only' is quality assurance as it ensures that the introduced changes on a development branch are being built on an independent system. This ensures that the changes compile and everything integrates nicely.

To provide you with the best possible user experience we build all pull requests (PR) in their branch and merged into master. Only if these builds are all successful do we consider a PR save to be merged to master. Additionally, we review each pull request to make sure the source code is in alignment with our quality standards.

Each build from master results in a new, downloadable intermediate build of the ARToolKit5 SDK. Meaning changes to the source are instantly available to the community.

A quick overview

Continuous delivery overview

You can see each push results in a build per platform. Each pull request tries and merge the feature-branch with the master-branch and builds that as well.

A push to master (and a merge to master) results in the 'build-and-release' workflow being called, which includes an upload of the build SDK to AWS.

**Note: ** A push to a branch with an open pull request results in 10 builds. (Five builds of the feature-branch and 5 builds of the merge)! So please only open pull requests when you already have pushed all your changes to the feature-branch and you are sure that everything works.

Delivery of the SDK

We are delivering the SDK through the artoolkitX website. The website automatically reads the information about the latest builds from the AWS bucket and displays the links accordingly.