66 Commits

Author SHA1 Message Date
Christian Breunig
adab6badd7 Jenkins: remove Debian build dependency files from the workspace
No need to provide them via the package repository
2024-04-01 16:05:56 +02:00
Christian Breunig
aadf6f1311 Revert "Jenkins: increase build timeout to 8 hours for arm64 Kernel"
This reverts commit 90271ccb62fa18fbc3653170bf138ffc4f0b2a2e.
2023-08-27 15:09:31 +02:00
Christian Breunig
90271ccb62 Jenkins: increase build timeout to 8 hours for arm64 Kernel 2023-08-27 07:58:59 +02:00
Christian Breunig
ee57ffed1a
Jenkins: increase build timeout to 4 hours for arm64 Kernel 2023-08-26 21:57:55 +02:00
Christian Breunig
5a81df9561 Jenkins: add support to specify build node per individual job
buildPackage() now has an additional parameter named "buildLabel" that is used
to determine/define where a particular job must be executed.

This defaults to ec2_amd64 which was always the default.
2023-07-08 19:52:44 +02:00
Christian Breunig
5ed3ed65f4 Jenkins: lib: T5076: install dependency packages without prompting 2023-03-12 20:20:00 +01:00
Christian Breunig
30c2f9af0b Docker: T5076: unbloat container - remove dependencies for strongswan 2023-03-09 20:09:09 +01:00
Christian Poessinger
be1d5e0165 Testsuite: T3664: move to new toml based input files 2022-10-07 22:02:58 +02:00
Andrii
d8824db3f3 Jenkins: builld dsc packages beside amd64 binaries 2022-05-05 19:16:03 +03:00
Christian Poessinger
1057736aba Revert "Jenkins: lib: specify when { beforeAgent true }"
This reverts commit d02450f6234bd79e58b961c8ca2bfb85a01ec1c2.

This breaks the CI jobs for e.g. vyos-1x as no "change" could be determined.
2021-08-31 12:01:25 +02:00
Christian Poessinger
3515424205 Jenkins: lib: dereference changesPattern variable 2021-08-27 10:26:02 +02:00
Christian Poessinger
d02450f623 Jenkins: lib: specify when { beforeAgent true }
By default, the when condition for a stage will be evaluated after entering the
agent for that stage, if one is defined. However, this can be changed by
specifying the beforeAgent option within the when block.

If beforeAgent is set to true, the when condition will be evaluated first, and
the agent will only be entered if the when condition evaluates to true.
2021-08-27 10:20:48 +02:00
Christian Poessinger
3cee66234a Jenkins: lib: fix kernel build trigger
We can only pass one changesPath as variable due toe ANT limitation.
2021-08-08 18:32:19 +02:00
Christian Poessinger
9e57b42149 Jenkins: lib: add changesPattern parameter to buildPackage class
we can now externally control if the package should be build when a file
changes. It defaults to "*" which means "always build".
2021-07-24 20:47:34 +02:00
Christian Poessinger
d5bec94eb8 Jenkins: lib: remove skipDefaultCheckout() from pipeline options
We need the default checkout to determine the Git changeset.
2021-07-24 20:42:28 +02:00
Christian Poessinger
36dfdc3895 Jenkins: lib: reduce buildDiscarder value from 20 -> 10 2021-07-24 20:26:47 +02:00
Christian Poessinger
49adbd9af4 Revert "Jenkins: re-add erroneously removed when build conditions"
This reverts commit 8a6a04f. Unfortunately this leads to more problems then
it caused good as packages are not build when needed - only somtimes, so this
is not a reliable solution.
2021-06-13 14:19:26 +02:00
Christian Poessinger
57ccf2a4c6 Jenkins: lib: only start SSH agend when *.deb files exist 2021-06-06 12:27:02 +02:00
Christian Poessinger
59fc362770 Jenkins: lib: fix unstage and deploy logic to package mirror
Commit c67a6eb542e9 ("Jenkins: lib: it is also possible that unstaging of the
amd64 binaries fail") returned early if no arm64 package was build but an amd64
package.

This resulted in valid packages not beeing deployed at all.
2021-06-06 12:09:48 +02:00
Christian Poessinger
98e275a6e6 Jenkins: lib: remove "pattern" from changeset 2021-06-06 11:44:31 +02:00
Christian Poessinger
046fb537c4 Jenkins: lib: echo change set path for further optimisation
Currently on repo push all jobs are build - not only the required ones. This
commit aims to identify the root cause and limit the amount of CPU time used
to build packages.
2021-06-06 11:13:56 +02:00
Christian Poessinger
c67a6eb542 Jenkins: lib: it is also possible that unstaging of the amd64 binaries fail
This is due to the fact when no package is build b/c then when { } condition is
unmet, we also have no amd64 package. Thus the try { } block needs to be
extended to not only match for arm64 unstash.
2021-06-05 10:21:12 +02:00
Christian Poessinger
3bf7078334 Revert "Jenkins: lib: echo change set path for further optimisation"
This reverts commit 24804b2e00866486d4b16e727a25fc43185e8762.
2021-06-05 10:13:14 +02:00
Christian Poessinger
889fc89e41 Jenkins: lib: allos stashing of empty objects
If a build is skipped, we can not stash any object, this will trigger a build
error that is invalid - as there is nothing to build.
2021-06-05 10:10:22 +02:00
Christian Poessinger
8a6a04fe78 Jenkins: re-add erroneously removed when build conditions
Debian packages should only be build if a file in the requested subfolder
changes (like a version upgrade) or if explicitly reuested by the user.

VyOS ISO generation should only be run once a night by the CI if triggered by
the timer, or on explicit user request.
2021-06-05 10:06:30 +02:00
Christian Poessinger
5a287919fa Jenkins: lib: only define BASE_DIR and CHANGESET_DIR varibale once 2021-06-04 22:27:00 +02:00
Christian Poessinger
24804b2e00 Jenkins: lib: echo change set path for further optimisation
Currently on repo push all jobs are build - not only the required ones. This
commit aims to identify the root cause and limit the amount of CPU time used
to build packages.
2021-06-04 22:22:57 +02:00
Christian Poessinger
73998f1588
Jenkins: increase buildPackage timeout to 3 hours
The Linux Kernel now takes longer then 2 hours to compile.
2021-05-30 14:39:48 +02:00
Christian Poessinger
d127e81f0c Kernel: move build to "normal" Pipeline library
This is initial work required to also build an arm64 Kernel via the CI.
2021-04-09 11:53:50 +02:00
Runar Borge
a3fc5bd3b2 Jenkins: add cleanup for finalize stage 2021-04-04 10:44:44 +02:00
Christian Poessinger
02803f0b66 Jenkins: lib: fix file encoding (<U+200B>) issues 2021-03-26 19:40:43 +01:00
Christian Poessinger
277561ae26 Jenkins: lib: move buildDiscarder settings to pipeline ~options 2021-03-26 19:40:12 +01:00
Runar Borge
ee7ea471d3 Jenkins: Activate EC2 builders and Re-enable multiarch/arm64 builds
Re-enabling arm64 builds on its own buildhosts requires a bit of rewrite
to get up and running, using this commit will allow native builds of all
needed platforms if we add more platforms at a later date
2021-03-26 18:58:47 +01:00
Christian Poessinger
1de3f19a28
Jenkins: lib: fix "Bad substitution" error on GitHub PR builds 2021-02-20 21:53:48 +01:00
Christian Poessinger
aec60effa4 Jenkins: disable arm64 builds again 2021-02-09 23:46:56 +01:00
Christian Poessinger
6b8baa9751 Jenkins: convert FILE toString() when uploading artifacts from nested paths 2021-02-09 21:47:23 +01:00
Christian Poessinger
4c2ad52b59 Jenkins: fix unexpected char: '#' - Groovy does not like BASH foo 2021-02-08 20:49:05 +01:00
Christian Poessinger
c1e6e7bb94 Jenkins: do not add package from nested path to reprepro 2021-02-08 20:46:17 +01:00
Christian Poessinger
db4a33fa3b Jenkins: frr: support arm64 builds 2021-02-08 21:58:48 +01:00
Christian Poessinger
3c3f35555e Jenkins: reprepro delete unreferenced packages 2021-02-08 19:56:02 +01:00
Christian Poessinger
26d9d6fb2e Jenkins: reuseNode when building with Docker 2021-02-08 19:51:55 +01:00
Christian Poessinger
65bece336b Jenkins: cleanup before build 2021-02-08 19:50:38 +01:00
Christian Poessinger
b32e9ffa92 Jenkins: simplify passing of Docker options 2021-02-08 19:50:19 +01:00
Christian Poessinger
095f1e02cc Jenkins: add support for arm64 package builds 2021-02-07 13:01:03 +01:00
qxmips
38fa98af45
Jenkins: run containers with "reuseNode" to stay on the same node 2021-02-02 22:05:54 +01:00
Christian Poessinger
76f293633f Jenkins: retrive debian repo server via global variable 2021-01-15 17:01:15 +01:00
Christian Poessinger
49ca3d22e8 Jenkins: lib: T2625: disable concurrent builds 2020-06-28 20:34:56 +02:00
Christian Poessinger
2e1e117f96 Jenkins: lib: T2625: support PullRequest builds 2020-06-27 14:57:18 +02:00
Christian Poessinger
7e15d427f7 Jenkins: lib: T2625: extend quotes on SSH commands 2020-06-24 17:26:04 +02:00
Christian Poessinger
30b81d7931 Jenkins: lib: T2625: SSH commands must be wrapped in "" to function 2020-06-24 08:02:24 +02:00