This repository was archived by the owner on Apr 13, 2024. It is now read-only.
Open
Conversation
tuxbuild (https://gitlab.com/Linaro/tuxbuild) is a new microservice from Linaro for building Linux kernel images. We can build clang kernel images with it via: $ tuxbuild build \ --git-repo https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git \ --git-ref master --target-arch arm64 --kconfig defconfig --toolchain clang-9 to build mainline ARCH=arm64 defconfig with Clang 9. This requires a tuxbuild client installed, and an API key. For example, I have requested 2 API keys; one is in my ~/.config/tuxbuild/config.ini, one is stored in an environmental variable TUXBUILD_TOKEN in https://travis-ci.com/github/ClangBuiltLinux/continuous-integration/settings. See https://gitlab.com/Linaro/tuxbuild#setup-config for more information. This change allows driver.sh to use tuxbuild rather than fetching and building kernel images locally. The above command with driver.sh would look like: $ TUX_BUILD=1 ARCH=arm64 REPO=linux LLVM_VERSION=9 ./driver.sh This change turns on 3 daily builds with tuxbuild; all mainline defconfigs with clang-9, one arm64, one arm32_v7, and on x86_64.
for testing TUX_BUILD=1 builds on travisci.
|
|
||
| # https://gitlab.com/Linaro/tuxbuild/-/issues/56 | ||
| start=$(date +%s) | ||
| build_url=$(timeout 50m ${cmd} | grep -o https://builds.tuxbuild.com/.\* | head -n1) |
Member
There was a problem hiding this comment.
I am fairly certain Travis will timeout here because there will not be any output for ten minutes. I am not sure how to get around that, we'll have to brain storm (or maybe reach out to Travis support and see if there is any way for that restriction to be waved).
Contributor
There was a problem hiding this comment.
Last time I contacted Travis CI support, they told me there is no way to change the 10-minute silence timeout. The easiest way to get around that restriction is to just print something every 10 minutes.
| # https://builds.tuxbuild.com/neNnj76CSx8sDEbwlUHGbA/ arm64 31:06 | ||
| # https://builds.tuxbuild.com/9ieKegqDeZBTCMaG3et7ig/ arm64 | ||
| # https://builds.tuxbuild.com/rPqYnwW4B8xhi8i6atmcpg/ arm | ||
| cmd="tuxbuild build --git-repo ${url} --git-ref ${branch:=master} --target-arch ${tux_arch} --kconfig ${config} --toolchain clang-${LLVM_VERSION}" |
Member
There was a problem hiding this comment.
This should be an array:
cmd=( tuxbuild build --git-repo ${url} --git-ref ${branch:=master} --target-arch ${tux_arch} --kconfig ${config} --toolchain clang-${LLVM_VERSION} )
...
build_url=$(timeout 50m "${cmd[@]}" | ...)
| start=$(date +%s) | ||
| build_url=$(timeout 50m ${cmd} | grep -o https://builds.tuxbuild.com/.\* | head -n1) | ||
| end=$(date +%s) | ||
| runtime=$((${end}-${start})) |
Member
There was a problem hiding this comment.
This can be runtime=$((end - start))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I expect the first run to fail; we need to figure out how to ship the
tuxbuildclient in our docker image. Once that's sorted, we can: