mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
* Rejig the build process During a build, we check and rebuild any dependencies prior to potentially using them. Build: - DIND (this only produces a new docker image, no local code changes) - fnserver (built as part of the testing) On master, if everything works, then we release the built artifacts, if necessary: - DIND (this pushes a docker image and a tag) - fnserver (this builds the docker image and releases it, if necessary). Fnserver is dealt with last by the release script: all previous steps in CI use locally-run go tests rather than a docker file. When a commit happens, we need to know (a) if we need to rebuild a set of tools and artifacts (or whether we can continue to use published ones); and (b) if we need to release new versions of those tools, if all tests pass. We do this by identifying the previous release tag on origin/master (which is the release branch), then checking for changes between that point at the current one. Those changes may appear in various places in the tree: some simple boolean rules work out whether the change means we need to rebuild and rerelease. * Make the fnproject/fnserver build use the latest dind As docker bumps from 17.12.x, use whatever dind we just built. * Use bash