Petr Štetiar [Mon, 15 May 2023 07:12:16 +0000 (09:12 +0200)]
Bump buildbot version to latest stable release 3.8.0
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Mon, 15 May 2023 06:53:58 +0000 (08:53 +0200)]
buildmaster: fix unpinned buildbot package version
It seems, that current pip3 install pinning doesnt work properly as it
can result in the following package versions installation:
buildbot-3.6.1 buildbot-console-view-3.5.0 buildbot-grid-view-3.5.0
buildbot-waterfall-view-3.5.0 buildbot-worker-3.5.0 buildbot-www-3.5.0
So lets pin the buildbot package itself to BUILDBOT_VERSION as well.
References: https://gitlab.com/openwrt/buildbot/-/jobs/
3324049571#L1158
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Thibaut VARÈNE [Tue, 15 Nov 2022 09:44:56 +0000 (10:44 +0100)]
phase1: make 'rsync -4' worker-configurable
We set '-4' in rsync_defopts, asking rsync to "prefer" ipv4 whenever
possible on _all_ workers. This was historically done because some
workers had flaky ipv6 connectivity, however in the future the reverse
may be true, with worker having worse networking over ipv4 than ipv6.
This change introduces an 'rsync_ipv4' worker configuration option:
when set to a true value, the old rsync behavior (adding '-4') is used,
when unset or set to false, the extra rsync argument is not used.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Fri, 28 Oct 2022 09:05:21 +0000 (11:05 +0200)]
phase1: call host ccache in stats
We do not use the staging_dir ccache on buildbots (config seed contains
CONFIG_CCACHE=n), only the host tool if present.
Also only execute this step if 'ccache_command' is set.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 27 Oct 2022 20:35:09 +0000 (22:35 +0200)]
phase1: tag builders with their intended branch name
This helps sorting them in waterfall and builders views.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 27 Oct 2022 18:31:19 +0000 (20:31 +0200)]
phase1: documentation update
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 27 Oct 2022 12:56:21 +0000 (14:56 +0200)]
phase1: allow restricting builders to tag builds only
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 27 Oct 2022 12:32:30 +0000 (14:32 +0200)]
phase1: refactor worker parsing
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 27 Oct 2022 12:11:13 +0000 (14:11 +0200)]
phase1: disable debug messages
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 27 Oct 2022 11:27:56 +0000 (13:27 +0200)]
phase1: prioritize builders by branch order
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 27 Oct 2022 11:09:17 +0000 (13:09 +0200)]
phase1: switch to separate builders per branch per target
This will simplify reporting and ensure consistent build statistics.
It will also simplify prioritizing builders by branch.
This also introduces a single "trigger" scheduler that will handle all
trigger requests for each branch/target combination, speeding up the
forcing of builds.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 27 Oct 2022 08:20:39 +0000 (10:20 +0200)]
phase1: fix ForceBuild validation logic
We shouldn't use the local GitPoller repo to find the commit hash of a
tag, since this repo may not yet have been updated at the time the new
tag value is fetched from the remote repo.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 26 Oct 2022 20:53:12 +0000 (22:53 +0200)]
phase1: run ForceBuilder on local worker
There is no reason to send this over the network to some remote worker,
incurring latency for a purely housekeeping task that should be done on
the buildmaster host.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 26 Oct 2022 19:35:18 +0000 (21:35 +0200)]
phase1: prune unused files from dl/
Remove files that haven't been accessed in >15 days from dl/
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 26 Oct 2022 19:34:19 +0000 (21:34 +0200)]
phase1: workers are running a single build
Worker lock on dl/ is now unnecessary
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 26 Oct 2022 18:51:20 +0000 (20:51 +0200)]
phase1: Fix the force scheduler process
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 26 Oct 2022 17:30:25 +0000 (19:30 +0200)]
phase1: always front-run the 00_force_build builder
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 26 Oct 2022 12:43:15 +0000 (14:43 +0200)]
phase1: fix ForceScheduler
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 26 Oct 2022 07:46:22 +0000 (09:46 +0200)]
phase1: don't log env on statistics steps
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Tue, 25 Oct 2022 20:09:55 +0000 (22:09 +0200)]
phase1: consistent step styling
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Tue, 25 Oct 2022 19:58:53 +0000 (21:58 +0200)]
phase1: gitcheckout workaround is no longer needed
And it has adverse effects (slows/breaks Git step).
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Tue, 25 Oct 2022 18:41:21 +0000 (20:41 +0200)]
phase1: move shared dl to same folder as shared-workdir
The previous command moved it to $HOME/dl, which could pollute the user's
home folder during test runs. This brings the "shared dl" folder in line
with the shared workdir folder, all within buildbot folder hierarchy.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Tue, 25 Oct 2022 17:48:46 +0000 (19:48 +0200)]
phase1: perform rsync steps only if configured
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Tue, 25 Oct 2022 17:25:39 +0000 (19:25 +0200)]
phase1: adjust steps descriptions
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Tue, 25 Oct 2022 13:41:06 +0000 (15:41 +0200)]
phase1: hide/skip ccache steps if not available
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Tue, 25 Oct 2022 11:08:50 +0000 (13:08 +0200)]
phase1: FlattenList doesn't work on renderables
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 16:17:46 +0000 (18:17 +0200)]
phase1: update config.ini.example
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 16:03:26 +0000 (18:03 +0200)]
phase1: populateConfig(): quiet git clone
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 15:09:43 +0000 (17:09 +0200)]
phase1: make scheduler and changesource branch-aware
The ForcedScheduler for tags still needs work
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 14:56:45 +0000 (16:56 +0200)]
phase1: branch-aware signall.sh
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 14:56:37 +0000 (16:56 +0200)]
scripts/signall.sh: make branch aware
This commit is a NO-OP if signall.sh is called with a single argument,
as is currently done, and will allow fetching branch-specific signing
credentials if a branch name is passed as second argument.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 14:41:00 +0000 (16:41 +0200)]
phase1: abort early if current builder does not apply
Some builders (target/subtarget) may only apply to particular branches,
but are nevertheless defined for all branches. Detect such case early,
stop the build but do not mark it FAILURE.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 14:17:03 +0000 (16:17 +0200)]
phase1: make populateTargets() branch aware
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 14:03:38 +0000 (16:03 +0200)]
phase1: make GetNextBuild() branch aware
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 16:08:23 +0000 (18:08 +0200)]
phase1: use single var for rsync_bin_defopts and rsync_src_defopts
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 12:41:28 +0000 (14:41 +0200)]
phase1: use branch config in factory
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Mon, 24 Oct 2022 10:48:11 +0000 (12:48 +0200)]
phase1: rsync_src_url is always set
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Fri, 21 Oct 2022 16:54:10 +0000 (18:54 +0200)]
phase1: prepare to parse branches
This commit breaks config
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Fri, 21 Oct 2022 16:38:58 +0000 (18:38 +0200)]
phase1: Git() no need to specify branch
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Fri, 21 Oct 2022 16:25:03 +0000 (18:25 +0200)]
phase1: replace 'repo_branch' with 'branch' prop in factory
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Fri, 21 Oct 2022 09:16:42 +0000 (11:16 +0200)]
phase1: refactor populateTargets()
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 17:41:57 +0000 (19:41 +0200)]
phase1: move target enumeration to function
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 17:24:56 +0000 (19:24 +0200)]
phase1: reorder/regroup globals
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 14:06:54 +0000 (16:06 +0200)]
phase1: fix option parsing typo for 'ul_lock'
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 13:51:38 +0000 (15:51 +0200)]
phase1: remove 'cleanup' worker option (always set)
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 13:49:43 +0000 (15:49 +0200)]
phase1: remove 'shared_wd' worker option (always set)
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 13:48:04 +0000 (15:48 +0200)]
phase1: remove dead code due to shared_wd=1
shared_wd is always set, the conditional on these bits were thus always
the same resulting in dead code.
Remove 'expire' config option which is no longer needed.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 18:16:10 +0000 (20:16 +0200)]
phase1: remove now redundant 'njobs' (== 'nprocs') property
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 13:43:15 +0000 (15:43 +0200)]
phase1: max_builds and shared_wd are always set to 1
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 13:30:45 +0000 (15:30 +0200)]
phase1: rework GetNumJobs()
Ensure we never end up with "0".
Set a build property step with the computed concurrency level, so that
this information is available in build status.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 11:18:25 +0000 (13:18 +0200)]
phase1: remove GetCCache()
ccache_command is set from "which ccache" which is either empty or
contains "ccache". Use a simple interpolation instead.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 11:11:26 +0000 (13:11 +0200)]
phase1: remove unused IsNoTaggingRequested()
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 10:47:05 +0000 (12:47 +0200)]
phase1: deduplicate 'git' step
method renderers are supported now.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 10:34:48 +0000 (12:34 +0200)]
phase1: remove dead step CleanTargetMap
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 09:37:21 +0000 (11:37 +0200)]
phase1: remove GetCC()/GetCXX()
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Thu, 20 Oct 2022 09:33:10 +0000 (11:33 +0200)]
phase1: remove GetCwd()
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 19 Oct 2022 18:02:51 +0000 (20:02 +0200)]
phase1: buildfactory: remove deadcode
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 19 Oct 2022 17:57:18 +0000 (19:57 +0200)]
phase1: remove checkBuiltin deadcode
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 19 Oct 2022 17:53:54 +0000 (19:53 +0200)]
phase1: remove unused variables
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 19 Oct 2022 17:13:43 +0000 (19:13 +0200)]
phase1: cleanup ini accessors
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 19 Oct 2022 15:39:57 +0000 (17:39 +0200)]
phase1: fix leading whitespace
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 19 Oct 2022 15:35:32 +0000 (17:35 +0200)]
phase1: remove unused 'kmod_repository'
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 19 Oct 2022 14:35:44 +0000 (16:35 +0200)]
phase1: remove unused 'git_ssh'
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 19 Oct 2022 14:24:46 +0000 (16:24 +0200)]
phase1: remove unused 'cc_version'
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Wed, 19 Oct 2022 14:19:42 +0000 (16:19 +0200)]
phase1: remove unused 'other_builds'
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Thibaut VARÈNE [Tue, 6 Sep 2022 15:19:37 +0000 (17:19 +0200)]
Revert "phase1: remove renderable locks: not supported in 0.8.9"
This commit re-enables the network locks that were first introduced in
in
0edb49341 ("phase1: provide upload/download locking"), but which were
disabled in
1e1a32607 as they weren't supported by the buildbot version
used at the time.
The use and benefits of this system is described in
0edb49341.
This reverts commit
1e1a326074018542c4a6f14ffe12984fa9c8a192.
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Petr Štetiar [Mon, 15 May 2023 06:08:42 +0000 (08:08 +0200)]
Create README.md
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Sun, 14 May 2023 19:44:53 +0000 (21:44 +0200)]
ci: disable container pushing during pull request builds
Seems like we need to find a different workflow for container
pre-testing.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Sun, 14 May 2023 18:40:08 +0000 (20:40 +0200)]
ci: fix ghcr.io container pushing
Attempt to fix following:
#11 ERROR: denied: permission_denied: The requested installation does not exist.
------
> pushing ghcr.io/ynezz/buildworker-v3.5.0:master with docker:
------
ERROR: denied: permission_denied: The requested installation does not exist.
Error: buildx failed with: ERROR: denied: permission_denied: The requested installation does not exist.
References: https://github.com/openwrt/buildbot/actions/runs/
4971701948/jobs/
8899889081#step:9:191
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Sun, 14 May 2023 07:12:44 +0000 (09:12 +0200)]
Introduce GitHub actions
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Sat, 26 Mar 2022 09:18:10 +0000 (10:18 +0100)]
phase2: fix just another byte/string inconsistencies
File "/phase2/master.cfg", line 203, in parse_feed_entry
if parts[0].startswith("src-git"):
builtins.TypeError: startswith first arg must be bytes or a tuple of bytes, not str
Fixes: f3fcdbec877e ("phase2: fix obsolete assumption about feed methods")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Fri, 25 Mar 2022 21:38:54 +0000 (22:38 +0100)]
Bump to latest Buildbot release 3.5.0
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Wed, 23 Feb 2022 17:46:41 +0000 (18:46 +0100)]
phase2: handle missing change sources
In commit
f3fcdbec877e ("phase2: fix obsolete assumption about feed
methods") we've fixed stuck buildmaster for master/phase2 builds, but
the issue wasn't obvious at first sight and some digging was necessary.
So lets make it obvious if/when it happens next time.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Wed, 23 Feb 2022 17:23:43 +0000 (18:23 +0100)]
phase2: fix obsolete assumption about feed methods
In commit
7fae1e5677e9 ("feeds: use git-src-full to allow Git
versioning") there was `src-git` method of shallow clone replaced with
`src-git-full` and this has caused issue with GitPoller configuration as
it only assumed, that only `src-git` method is going to be used for feed
updates. Fix currently stuck buildbot master by allowing usage of both
Git update methods.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Wed, 23 Feb 2022 17:22:41 +0000 (18:22 +0100)]
Bump to latest Buildbot release 3.4.1
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Sat, 22 Jan 2022 10:50:11 +0000 (11:50 +0100)]
Bump to latest Buildbot release 3.4.0
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Wed, 3 Nov 2021 13:59:26 +0000 (14:59 +0100)]
ci: docker: deploy automatically only on default branch and tags
In commit
fecd899e8189 ("docker: deploy only manually and on
master/tags") we've introduced manual deployment of the Docker images,
but this is unneeded additional manual step, so rather prefer automatic
deployment. While at it, convert to usage of `rules:` as `only:` is
deprecated and `rules:` are preferred.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Paul Spooren [Fri, 3 Sep 2021 18:39:47 +0000 (08:39 -1000)]
docker: install `mkisofs` to worker container
x86 targets allow the creation of ISO images, however this is not
possible because the `mkisofs` is missing. Install it.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Paul Spooren [Fri, 3 Sep 2021 18:35:55 +0000 (08:35 -1000)]
docker: sort installed packages alphabetically
Signed-off-by: Paul Spooren <mail@aparcar.org>
Paul Spooren [Sun, 5 Sep 2021 01:51:07 +0000 (15:51 -1000)]
docker: deploy only manually and on master/tags
Unmerged branches shouldn't be deployed as "latest" image, only tags and
`master` branches should.
It is still possible to use containers from tested branches since they
are uploaded to the container registry using their *commit slug*.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Petr Štetiar [Wed, 21 Jul 2021 19:31:28 +0000 (21:31 +0200)]
phase1,phase2: improve round robin builds
There seems to be some issue with database updates, where database
updates are asynchronous and thus the status update of the previous
build (complete_at DB column) might take little bit longer, then
preparation of the next/current build.
This is issue during job prioritization as this might result in the
build of the same builder twice in a row, for example:
2021-06-22 02:42:54+0000 [-] <Build mipsel_24kc number:95 results:success>: build finished
2021-06-22 02:42:55+0000 [-] prioritizeBuilders: mipsel_24kc complete_at: 2021-06-21 20:17:14+00:00
2021-06-22 03:14:30+0000 [-] prioritizeBuilders: mipsel_24kc complete_at: 2021-06-22 02:42:54+00:00
Build finishes at 02:42:54, scheduler then asks for next build at
02:42:55, but the build still has the old complete_at timestamp
2021-06-21 20:17:14 instead of the correct one 2021-06-22 02:42:54, thus
scheduling the build of oldest mipsel_24kc builder one more time.
This is so far very promising workaround attempt which checks latest
builder complete_at in builds table which seems to be updated faster,
thus using greater complete_at value seems to work for now.
References: https://github.com/buildbot/buildbot/issues/4592#issuecomment-
801163587
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Mon, 28 Jun 2021 06:39:14 +0000 (08:39 +0200)]
Bump to latest Buildbot release 3.2.0
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Tony Ambardar [Fri, 26 Mar 2021 09:55:41 +0000 (09:55 +0000)]
docker,worker: install libelf-dev, libdw-dev
The libelf-dev is a previous requirement to support STACK_VALIDATION
during kernel builds (x86/64). Building kernels with BTF debug
information requires both this and libdw-dev be installed.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Petr Štetiar [Thu, 25 Mar 2021 10:21:04 +0000 (11:21 +0100)]
buildworker: provide OpenWrt version in description
So it's clear to anyone which version is actually deployed.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Thu, 25 Mar 2021 10:03:30 +0000 (11:03 +0100)]
buildmaster: provide OpenWrt version in About section
So it's clear to anyone which version is actually deployed.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Thu, 25 Mar 2021 08:54:49 +0000 (09:54 +0100)]
phase1,phase2: add file space usage reporting
Add `du` step so it's clear how much space was used by the build.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Baptiste Jonglez [Wed, 24 Mar 2021 22:28:25 +0000 (23:28 +0100)]
phase1, phase2: exclude temporary source files from sourceupload step
When the dl/ directory is shared with several workers, there can be
temporary "*.hash" and "*.dl" files being created by other workers.
These files should be excluded from the sourceupload step, otherwise it
can cause a failure when rsync tries to read them.
See for example:
https://buildbot.openwrt.org/master/packages/#/builders/14/builds/18/steps/39/logs/stdio
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
Baptiste Jonglez [Wed, 24 Mar 2021 22:48:13 +0000 (23:48 +0100)]
phase1, phase2: don't mark the build failed if a non-critical step fails
Some steps are informative or optional (haltOnFailure=False), so it makes
no sense to mark the whole build as failed if such a step fails.
Depending on the case, we either mark the build as "warning"
(warnOnFailure=True) or as successful (warnOnFailure=False).
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
Petr Štetiar [Fri, 19 Mar 2021 20:54:30 +0000 (21:54 +0100)]
phase1,phase2: fix reconfig command by creating twistd.pid
Currently it's not possible to reconfig buildmaster as twistd.pid is
missing so fix it by creating one manually.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Wed, 17 Mar 2021 09:28:39 +0000 (10:28 +0100)]
buildmaster: add some OpenWrt branding
Welcome to OpenWrt buildbot
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Wed, 17 Mar 2021 08:36:10 +0000 (09:36 +0100)]
Bump to latest Buildbot release 3.0.2
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Wed, 17 Mar 2021 08:35:14 +0000 (09:35 +0100)]
Revert "docker: master/worker: fix issue with latest stable sqlalchemy"
This reverts commit
1d17927e74896df84208da090c80c2d1791d5fe6 as the
issue got fixed in Buildbot version 3.0.2
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Tue, 16 Mar 2021 17:21:15 +0000 (18:21 +0100)]
phase1,phase2: implement round robin builds
Gather newest complete and not skipped build timestamps, reverse sort
them and use that as builder priority, so the newest built targets are
at the bottom.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Mon, 15 Mar 2021 22:39:55 +0000 (23:39 +0100)]
docker: master/worker: fix issue with latest stable sqlalchemy
Fixes following issue with sqlalchemy version 1.4.0 and too relaxed
dependecies `sqlalchemy>=1.2.0` in buildbot:
Traceback (most recent call last):
File "/usr/local/bin/buildbot", line 8, in <module>
sys.exit(run())
from buildbot.db import enginestrategy
...
File "/usr/local/lib/python3.7/dist-packages/buildbot/db/enginestrategy.py", line 154, in <module>
class BuildbotEngineStrategy(strategies.PlainEngineStrategy):
AttributeError: module 'sqlalchemy.engine.strategies' has no attribute 'PlainEngineStrategy'
References: https://github.com/buildbot/buildbot/issues/5911
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Mon, 15 Mar 2021 21:46:09 +0000 (22:46 +0100)]
phase1,phase2: shuffle order of builds
It seems that once there are new commits, buildbot restarts building all
targets in alphabetical order. The current logic pretty much disables
the building of the alphabetically last targets, so until there is
proper solution just workaround it by randomly shuffling the builders
list.
References: https://github.com/buildbot/buildbot/issues/5193
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Mon, 15 Mar 2021 07:34:58 +0000 (08:34 +0100)]
Bump to latest Buildbot release 3.0.1
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Sat, 13 Mar 2021 23:12:41 +0000 (00:12 +0100)]
ci: buildworker: disabled test temporarily
It seems to be getting stuck for some yet to be investigated reason.
References: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/3925#note_528657831
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Sat, 13 Mar 2021 22:33:49 +0000 (23:33 +0100)]
ci: use private runner
Shared runners seems to be unreliable lately and private runner should
be more secure as well.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Sat, 13 Mar 2021 06:51:03 +0000 (07:51 +0100)]
buildworker: add Python2 package
Which is still needed for 19.07 builds.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Paul Spooren [Sun, 10 Jan 2021 20:25:38 +0000 (10:25 -1000)]
docker,worker: install gcc-mulitlib
From openwrt/docker[1]:
This is required for luajit, which is in packages feed. While it works
fine for ARMv8 (tested by using Github Actions: aarch64_cortex-a53) and
x84_x64 (tested inside Docker container, it does not work for 32-bits
target and because of that we need to install gcc-multilib.
Luajit fails with the following output: (tested against target:
arm_cortex-a9+vfpv3-d16_musl_eabi inside Docker SDK image)
/usr/include/limits.h:26:10: fatal error: bits/libc-header-start.h: No
such file or directory #include <bits/libc-header-start.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~
[1]: https://github.com/openwrt/docker/pull/74/commits/
f9da188d53fd9809ca4911089611e1f42422d049
Signed-off-by: Paul Spooren <mail@aparcar.org>