- Jun 25, 2021
-
-
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
-