- Jun 28, 2021
-
-
Maxim Cournoyer authored
This is a follow up to commit 4ee93922, which introduced partial deployments. The unstash operation also needs to be handled specially, as it may now fail attempting to unstash an item that could not be stashed previously. * Jenkinsfile ('Sign & deploy packages'): Skip target deployment when it fails to be unstashed. Change-Id: I59341e4c3bb007125402f4b28979d0e8e963757d
-
- Jun 25, 2021
-
-
Maxim Cournoyer authored
When a packaging target fails to build, deploy the successful builds to the repository anyway. * Jenkinsfile (BUILD_OWN_QT): Remove parameter. The Qt builds are now implicitly made as part of the regular packaging targets. (Build packages): Wrap make invocation in a catchError so that the stage appears as failed while the build is marked as a success, which allows the 'Sign & deploy packages' stage to run despite packaging errors. Change-Id: I5785d154f5e1963aa824576f7f0f62043446456a
-
Maxim Cournoyer authored
* Jenkinsfile (properties): New definition. GitLab: jami-packaging#98 Change-Id: I3406f20027cafe8ab6a5743860b470d92e8455cb
-
Maxim Cournoyer authored
* Jenkinsfile (Deploy packages): New stage. GitLab: jami-packaging#98 Change-Id: I36a555312e0569549316370878244c3267f8149a
-
Maxim Cournoyer authored
* Jenkinsfile (submodules): New variable. [parameters]{WITH_MANUAL_SUBMODULES}: New parameter. (Fetch submodules): Adapt the message to the parameter's value. Add the '--remote' option to 'git submodule' unless WITH_MANUAL_SUBMODULES is true. GitLab: jami-packaging#98 Change-Id: Ie5f0521bed16303e751e8e19174f18a90bccefcc
-
Maxim Cournoyer authored
The default is to build all the packaging targets (minus the *_qt and *_arm ones). Add a PACKAGING_TARGETS parameter that allows specifying which targets to build. * Jenkinsfile: (PACKAGING_TARGETS): New parameter. ('Build packages'): Use it unless it's the empty string. GitLab: jami-packaging#98 Change-Id: Idf1b4460a0edac7cbe6a82b9db1d204af78de801
-
- May 25, 2021
-
-
Maxim Cournoyer authored
When a .tarball-version file containing the version string is present, it is taken for granted that the source tarball is present. This allows to lift the requirement on a Git checkout to use the source tarball. This makes it easy and cheap to sync this tarball and accompanying .tarball-version file across different Jenkins agents to distribute the packaging jobs, bring the total build time from about 1 h 40 to 40 minutes. * Makefile (TARBALL_VERSION): New variable. When defined, do not do not invoke Git to derive the version string, simply use it. [RELEASE_TARBALL_FILENAME]: Do not compute prerequisites when TARBALL_VERSION is defined; assume the tarball is present. * .gitignore: Ignore .tarball-version. * Jenkinsfile: (Generate release tarball): Generate a .tarball-version file, and stash it along the release tarball. Explicit this should run on a 'guix' agent. (Build packages): Forward to any 'linux-builder' agent, clean the workspace, unstash and extract the tarball and build. GitLab: jami-packaging#98 Change-Id: I13088b75c9ccd5166662a84b7c5f8d4e8b7b65da
-
Maxim Cournoyer authored
* Jenkinsfile [parameters]: New directive. (Build packages): Skip building custom Qt or ARM packages depending on the parameter values. GitLab: jami-packaging#98 Change-Id: Ic68af873483ac92319061baf5f14ef7323a27a26
-
Maxim Cournoyer authored
The phony tarball-producing targets will now always clear the tarballs.manifest file before generating a new release tarball, ensuring it doesn't contain stale information. A new 'portable-release-tarball' target is also added to offer an easy to use target that was previously implemented ad-hoc in the CI. Move this logic here as a portable release tarball is useful for packagers wanting to test locally with the various supported platforms. The Jenkinsfile now makes use of it. * Makefile (daemon/contrib/native/Makefile): New target. (tarballs.manifest): Add the above target as a prerequisite and remove invocation to bootstrap script. Invoke make with --no-print-directory to prevent entering/leaving directory messages from appearing in the output (it's supposed to be on when using --silent, but when the make invocation is nested, it doesn't seem to be the case). (release-tarball): Also clear the tarballs.manifest when invoked. (purge-release-tarballs, portable-release-tarball): New targets. * guix/minimal-manifest.scm: New file. * Jenkinsfile ('Generate release tarball): Use it to spawn the container used to build the release tarball. Also expose /usr/bin/env in the container. Use the new 'portable-release-tarball' target to simplify things. Fix the shebang line; it needs to be the first line of the script. GitLab: jami-packaging#98 Change-Id: I3b55e25933108ae9930bc9fcc867f9fa51d796f2
-
- Feb 26, 2021
-
-
Maxim Cournoyer authored
The pipeline code is modernized to use the declarative pipeline DSL of Jenkins, and the GNU/Linux package builds now all share the same source release archive, which is built from cached contribs tarballs when available. GitLab: jami-packaging#55 Change-Id: Id7f37966dd80c36cfa0ebdd461c0ab90505dcd37
-