Commit Graph

19 Commits

Author SHA1 Message Date
Marcus Cobden
c8878c736b Update CI UI build container to master-c0b60a16 2018-09-28 16:38:18 +01:00
Marcus Cobden
041ebed8a3 Fix path confusion in bundle building 2018-09-26 12:16:49 +01:00
Marcus Cobden
3f37ec011b Also cache the client/node_modules 2018-09-26 11:22:54 +01:00
Marcus Cobden
c03e6a0e50 Rework UI build to improve caching and fix packaging issue
Stop baking the toolchain and dependencies into the build image.
Instead, run the install step each time, but use volume mounts or
CircleCI caching to keep the happy path fast.

Previously, some parts of the client (UI) directory were baked into the build
image, and some parts were mounted or copied into the build environment.
As a result, files baked into the build image require a two-step
update for changes to take effect in CI.

Now, for dockerised builds, we pre-install very little into the build
image and mount the whole directory into the build environment.
However, we do overlay a volume on the node_modules folder to allow the
standard build toolchain to be separate from the host build toolchain.

Non-dockerised builds (e.g. CI) are now more similar to the dockerised
versions.
2018-09-26 10:41:30 +01:00
Bryan Boreham
d6bbf690e6 Use build images with master tag 2018-09-01 14:34:25 +00:00
Bryan Boreham
d9e88c0e43 Use newer ui-build image 2018-08-30 11:57:40 +00:00
Bryan Boreham
1734def7ee Get deploy step to work
Simplify deploy shell scripts;
Run yarn bundle as part of client-build step;
Install awscli as part of deploy step;
Don't run ui-upload in another container.
2018-08-30 10:13:43 +00:00
Bryan Boreham
7b9a15efbf Combine arm and darwin build jobs
saves spinning up another container
2018-08-30 10:13:42 +00:00
Bryan Boreham
8a0c42299e Use newer build image 2018-08-30 10:13:42 +00:00
Bryan Boreham
6a51cd8185 Tidy up 2018-08-30 10:13:42 +00:00
Bryan Boreham
cf0d85b7f4 Run coverage as part of integration test job
This lets it run at the same time as GCE VMs are deleted, and saves us
having to run up another job just for coverage.
2018-08-30 10:13:42 +00:00
Bryan Boreham
1d2a5c6544 Set up dependencies for integration test job
* Build 'runner' program in build job and save to workspace;
* Save build outputs - externalui, staticui, codecgen output;
* Install required tools in test VM;
* Call 'make deps' in integration-tests-job and touch 'runner' from
  workspace so it doesn't rebuild.
2018-08-30 10:13:42 +00:00
Bryan Boreham
8b9d49d9d6 Run client static build
and run client lint and test in the same job, after client-build,
to reduce the number of jobs running in parallel.
2018-08-30 10:13:42 +00:00
Bryan Boreham
d7b40846a4 Run arm and darwin builds after main build
Try to balance the parallelism more
2018-08-30 10:13:42 +00:00
Bryan Boreham
fd08129e30 Remove deploy-dev job; it isn't used 2018-08-30 10:13:42 +00:00
Bryan Boreham
c1b93c3161 Break into steps, use current build images 2018-08-30 10:13:42 +00:00
guyfedwards
9efcea41b9 add docker build image; 2018-08-30 10:13:41 +00:00
guyfedwards
fc7e5bf9f8 fix env defaults 2018-08-30 10:13:41 +00:00
guyfedwards
6b4a51563f initial 2018-08-30 10:13:41 +00:00