Additional Arguments¶
No Wait¶
--no-wait
is an optional argument which submits the build and
returns immediately printing the build artifacts to stdout
.
Show Logs¶
--show-logs
is an optional argument to print build logs to stderr, after the
build(s), in the event of warnings or errors.
Quiet Mode¶
Passing -q
/--quiet
to build
will cause tuxsuite to produce
minimal output. In particular:
- Only the final build artifacts URLs will be printed to
stdout
. - No progress information will be printed while waiting for the builds to finish.
- Warnings and errors, including build failures, will be printed to
stderr
.
$ tuxsuite build --quiet --git-repo 'https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git' --git-ref master --target-arch arm64 --kconfig defconfig --toolchain gcc-9
https://builds.tuxbuild.com/_YNU6WjSnKv_Akdajrnhyw/
This is handy for use in automation/CI scripts.
json-out¶
The --json-out \<filename.json\>
command-line option accepts a filesystem path,
where it will write a status file in json format at the end of a
build. The file will contain, for example:
{
"build_key": "1oiYvkUr1ctXdkV7KCLZ6320JVw",
"build_name": "arm64 clang-nightly tinyconfig mainline",
"build_status": "pass",
"client_token": "6f288ec4-38aa-4968-8082-04790901fc44",
"download_url": "https://builds.tuxbuild.com/1oiYvkUr1ctXdkV7KCLZ6320JVw/",
"environment": {},
"errors_count": 0,
"git_describe": "v5.11",
"git_ref": "master",
"git_repo": "https://github.com/torvalds/linux.git",
"git_sha": "f40ddce88593482919761f74910f42f4b84c004b",
"git_short_log": "f40ddce88593 (\"Linux 5.11\")",
"kconfig": [
"tinyconfig"
],
"kernel_image": "",
"kernel_version": "5.11.0",
"make_variables": {},
"status_message": "build completed",
"target_arch": "arm64",
"targets": [],
"toolchain": "clang-nightly",
"tuxbuild_status": "complete",
"warnings_count": 0
}
image-sha¶
--image-sha
is an optional argument which submits the build and
instructs tuxbuild to use / pin the container image specified by the
complete sha256 of the image. The container image complete sha256 is
64 hexadecimal digits.
no-cache¶
--no-cache
is an optional argument which performs the build without
using any compilation cache.
private¶
-P/--private
is an optional argument to make the build private.
The build is public by default. The artifacts are public unless the user passes the --private or -P option, which makes the storage of artifacts private. To access the privately stored artifacts, the user has to authenticate with their TuxSuite credentials.
Authentication with your TuxSuite token is required in order to access the artifacts of a build that uses private storage, as shown below:
curl -L -H 'Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
'https://storage.tuxsuite.com/private/demo/demo/builds/2Klp3IebV45CIMnC7BnfTGbIAGV/build.log' \
-o /tmp/build.log
callback¶
--callback
is an optional argument which POSTs JSON data that has
the status of the build, at the end of the build to the given URL. The
URL should be a valid http(s) link that accepts POST data.
See Callbacks Reference, for more details
callback header¶
--callback-header
is an optional argument to build submit
subcommand through which the user can supply extra header to include
in the POST request sent to the callback URL. The header string should
be a key value pair separated by a ':' (colon). This option can be
used multiple times to add multiple headers. This option depends on
the --callback
option.
Example:
tuxsuite build \
--git-repo https://github.com/torvalds/linux.git \
--git-ref master \
--target-arch arm64 \
--toolchain gcc-11 \
--kconfig tinyconfig \
--callback https://tuxapi.tuxsuite.com/v1/test_callback \
--callback-header "X-First-Name: Senthil" \
--callback-header "X-Last-Name: Kumaran" \
--callback-header "X-Initial: S"
notify-email¶
--notify-email
or -E
is an optional argument which sends the
result of the build, at the end of the build to the given email
address. This option can be used multiple times to add multiple email
addresses to notify.
tuxsuite build \
--git-repo https://github.com/torvalds/linux.git \
--git-ref master \
--target-arch arm64 \
--toolchain gcc-11 \
--kconfig tinyconfig \
--notify-email test-1@linaro.org \
-E test-2@linaro.org