![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Documentation - Repository - Issues
TuxSuite, by Linaro, is a suite of tools and services to help with Linux kernel development. The TuxSuite CLI (this repo) is the supported interface to TuxBuild, TuxTest and TuxOE.
To request access, email us at tuxsuite@linaro.org or fill out our access request form.
[[TOC]]
The TuxSuite CLI supports three services: TuxBuild, TuxTest and TuxOE.
TuxBuild is an on demand API for building massive quantities of Linux kernels in parallel. It is used at scale in production by LKFT and ClangBuiltLinux as well as many individual Linux kernel engineers.
TuxBuild is accessed by running tuxsuite build
and tuxsuite plan
.
TuxTest is an on demand API for testing Linux kernels reliably and quickly. It is currently in Beta phase and is already available to TuxBuild users.
TuxOE is an on demand API for building Yocto/OpenEmbedded in parallel at scale. It is used at scale in production by LKFT
TuxSuite requires Python version 3.6 or greater, and is available using pip.
To install tuxsuite on your system globally:
sudo pip3 install -U tuxsuite
To install tuxsuite to your home directory at ~/.local/bin:
pip3 install -U --user tuxsuite
To upgrade tuxsuite to the latest version, run the same command you ran to install it.
TuxSuite provides Debian packages that have minimal dependencies, and should work on any Debian or Debian-based (Ubuntu, etc) system.
# wget -O /etc/apt/trusted.gpg.d/tuxsuite.gpg https://repo.tuxsuite.com/packages/signing-key.gpg
deb https://repo.tuxsuite.com/packages/ ./
apt update
apt install tuxsuite
Upgrading tuxsuite will work just like it would for any other package (apt update, apt upgrade).
TuxSuite provides RPM packages that have minimal dependencies, and should work on any RPM-based (Fedora, etc) system.
[tuxsuite]
name=tuxsuite
type=rpm-md
baseurl=https://repo.tuxsuite.com/packages/
gpgcheck=1
gpgkey=https://repo.tuxsuite.com/packages/repodata/repomd.xml.key
enabled=1
dnf install tuxsuite
Upgrades will be available in the same repository, so you can get them using the same procedure you already use to get other updates for your system.
tuxsuite is also available as a docker container at tuxsuite/tuxsuite.
For example, to run tuxsuite via docker:
docker run tuxsuite/tuxsuite tuxsuite build --help
tuxsuite is also available as a docker container at gallery.ecr.aws/tuxsuite/tuxsuite.
For example, to run tuxsuite via docker obtained from tuxsuite's public ECR:
docker run public.ecr.aws/tuxsuite/tuxsuite:latest tuxsuite build --help
If you don't want to or can't install TuxSuite, you can run it directly from the
source directory. After getting the sources via git or something else, there is
a run
script that will do the right thing for you: you can either use that
script directly, or symlink it to a directory in your PATH
.
/path/to/tuxsuite/run --help
sudo ln -s /path/to/tuxsuite/run /usr/local/bin/tuxsuite && tuxsuite --help
The Authentication token needs to be stored in ~/.config/tuxsuite/config.ini
.
The minimal format of the ini file is given below:
$ cat ~/.config/tuxsuite/config.ini
[default]
token=vXXXXXXXYYYYYYYYYZZZZZZZZZZZZZZZZZZZg
Alternatively, the TUXSUITE_TOKEN
environment variable may be provided.
If you do not have a tuxsuite token, please reach out to us at tuxsuite@linaro.org.
Submit a build request using the tuxsuite command line interface. This will wait for the build to complete before returning by default.
tuxsuite build --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
Submit a plan request using the tuxsuite command line interface. The plan file describes the list of builds along with the tests to run for each successful build. When one build is finished, the corresponding test is automatically started.
Create a plan configuration file:
version: 1
name: kernel validation
description: Build and test linux kernel with every toolchains
jobs:
- builds:
- {toolchain: gcc-8, target_arch: arm64, kconfig: defconfig}
- {toolchain: gcc-9, target_arch: arm64, kconfig: defconfig}
- {toolchain: gcc-10, target_arch: arm64, kconfig: defconfig}
- {toolchain: gcc-11, target_arch: arm64, kconfig: defconfig}
- {toolchain: gcc-12, target_arch: arm64, kconfig: defconfig}
- {toolchain: clang-10, target_arch: arm64, kconfig: defconfig}
- {toolchain: clang-11, target_arch: arm64, kconfig: defconfig}
- {toolchain: clang-12, target_arch: arm64, kconfig: defconfig}
- {toolchain: clang-13, target_arch: arm64, kconfig: defconfig}
- {toolchain: clang-14, target_arch: arm64, kconfig: defconfig}
- {toolchain: clang-15, target_arch: arm64, kconfig: defconfig}
- {toolchain: clang-16, target_arch: arm64, kconfig: defconfig}
- {toolchain: clang-nightly, target_arch: arm64, kconfig: defconfig}
test: {device: qemu-arm64, tests: [ltp-smoke]}
- builds:
- {toolchain: gcc-8, target_arch: i386, kconfig: defconfig}
- {toolchain: gcc-9, target_arch: i386, kconfig: defconfig}
- {toolchain: gcc-10, target_arch: i386, kconfig: defconfig}
- {toolchain: gcc-11, target_arch: i386, kconfig: defconfig}
- {toolchain: gcc-12, target_arch: i386, kconfig: defconfig}
- {toolchain: clang-10, target_arch: i386, kconfig: defconfig}
- {toolchain: clang-11, target_arch: i386, kconfig: defconfig}
- {toolchain: clang-12, target_arch: i386, kconfig: defconfig}
- {toolchain: clang-13, target_arch: i386, kconfig: defconfig}
- {toolchain: clang-14, target_arch: i386, kconfig: defconfig}
- {toolchain: clang-15, target_arch: i386, kconfig: defconfig}
- {toolchain: clang-16, target_arch: i386, kconfig: defconfig}
- {toolchain: clang-nightly, target_arch: i386, kconfig: defconfig}
test: {device: qemu-i386, tests: [ltp-smoke]}
- builds:
- {toolchain: gcc-8, target_arch: x86_64, kconfig: defconfig}
- {toolchain: gcc-9, target_arch: x86_64, kconfig: defconfig}
- {toolchain: gcc-10, target_arch: x86_64, kconfig: defconfig}
- {toolchain: gcc-11, target_arch: x86_64, kconfig: defconfig}
- {toolchain: gcc-12, target_arch: x86_64, kconfig: defconfig}
- {toolchain: clang-10, target_arch: x86_64, kconfig: defconfig}
- {toolchain: clang-11, target_arch: x86_64, kconfig: defconfig}
- {toolchain: clang-12, target_arch: x86_64, kconfig: defconfig}
- {toolchain: clang-13, target_arch: x86_64, kconfig: defconfig}
- {toolchain: clang-14, target_arch: x86_64, kconfig: defconfig}
- {toolchain: clang-15, target_arch: x86_64, kconfig: defconfig}
- {toolchain: clang-16, target_arch: x86_64, kconfig: defconfig}
- {toolchain: clang-nightly, target_arch: x86_64, kconfig: defconfig}
test: {device: qemu-x86_64, tests: [ltp-smoke]}
Submit the plan with:
tuxsuite plan --git-repo https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git --git-ref master plan.yaml
Submit a test request using the tuxsuite command line interface. This will wait for the test to complete before returning.
tuxsuite test --device qemu-x86_64 --kernel https://storage.tuxboot.com/x86_64/bzImage --tests ltp-smoke
Submit an OE build request using the tuxsuite command line interface. This will wait for the OE build to complete before returning.
tuxsuite bake submit build-definition.json
Sample build definition json file for OE bake build.
{
"container": "ubuntu-20.04",
"distro": "oniro-linux",
"environment": {
"TEMPLATECONF": "../oniro/flavours/linux"
},
"envsetup": "oe-core/oe-init-build-env",
"machine": "qemux86-64",
"sources": {
"repo": {
"branch": "kirkstone",
"manifest": "default.xml",
"url": "https://gitlab.eclipse.org/eclipse/oniro-core/oniro"
}
},
"target": "intltool-native"
}
The results
sub-command provide a way to get the status of a
build/test/plan that has been previously submitted.
The results
sub-command when invoked with fetch
sub-command shows the
latest builds, tests, and plans that have been previously submitted by
the user.
tuxsuite results fetch
The build
option fetches the results
of the build
based on the
given uid
tuxsuite results --build 1t26TJROt6zoxIw3YS2OlMXMGzK
The test
option fetches the results
of the test
based on the
given uid
tuxsuite results --test 1s20dnMkE94e3BHW8pEbOWuyL6z
The plan
option fetches the results
of the plan
based on the
given uid
tuxsuite results --plan 1t2UxTeU15WDwvhloPFUqjmr3CX
The TuxSuite team may be engaged through chat, email, or gitlab issues.
To chat with us, join our public Discord, or our IRC channels #tuxsuite and #tuxmake on Libera Chat.
Questions, comments or feedback are always welcome by private email at tuxsuite@linaro.org.
Finally, gitlab issues are used to track bugs and feature requests in both tuxsuite and tuxmake projects.
FAQs
This is the tuxsuite module.
We found that tuxsuite demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.