Releasing
https://github.com/arangodb/arangodb/blob/devel/Installation/release.sh
- pull from repo, pull enterprise, pull tags
Installation/release.sh 3.1.14
- checks CHANGELOG
- builds
- runs unittests
- builds documentation
- builds snipplets
- builds swagger
- builds docs
- Sets tag
v3.1.14
on arango & enterprise repo directories & pushes
Now we can continue to Jenkins:
Jenkins Pipeline Scripts
- Release/Flow
- Release/BuildDocumentation - Builds Documentation
- Release/BuildPackages - Builds Packages (on all supported Platforms)
- ci/Jenkinsfile - Builds & tests
Build Flow
Docker builders
Building
Installation/Jenkins/build.sh
Target usecase:
- standard - we want release builds.
- debug - we want debug builds
- maintainer - we want maintainer builds
- scan-build - we want to run scan-build (to be rechecked)
Build Options
- enterprise [giturl] - build with enterprise enabled - if neccessary checkout the git repo first.
- msvc - build with Microsoft visual studio
- buildDir - which directory to compile in
- package - which package format to build (usually includes a tgz):
- Bundle - Macos DMG Bundle
- DEB - Debian / Ubuntu .deb package (+ snap on ubuntu 16 if –snap specified)
- RPM - Redhat / SuSE RPM package
- NSIS - Windows NSIS installer packages (+ zip instead of tgz)
- TGZ - tarball only
When not specified, a special unittest enabled tarball is build to be
propagated to later testruns
- rpmDistro - eventually enable suse rpm specialities one is unable to detect from the host automatically
- targetDir - where to publish the packages to
- cleanBuild - Flush all changes in this git working copy so we may start with a clean thing