32 Commits

Author SHA1 Message Date
Kai Lueke
20a9e15d90 .github: Add flatcar_production_qemu.sh to generic image zip
When downloading the generic image to run a test it would be nice to
have the qemu script in the zip bundle.
2024-04-10 22:41:33 +09:00
Kai Lueke
2bdb6eed5b .github: Remove bz2 compression layer from zip artifacts
The GitHub Action artifacts are compressed zip files which include
bz2 files which are either the raw .bin images that have many zero bytes
in the rootfs but the main data in /usr is using zstd compression, or
they are the qcow2 .img images which are compressed themselves (and of
course have the same /usr compression). The bz2 compression doesn't help
in our case.
Remove the bz2 compression layer. If in the future non-zip artifacts
are supported we can add it back for the .bin image only by using
explicit calls only for that file instead of the
--image_compression_formats= flag for all images.
2024-04-10 22:41:33 +09:00
Kai Lueke
8bfad0d8f7 Set up symlinks for same image artifacts to remove qemu/qemu_uefi_secure
The qemu and qemu_uefi_secure images have the same contents as the
qemu_uefi image which wastes space on the release server. A similar
case is the PXE vmlinuz which is the same as the regular one, too.

Set up symlinks for same images, and also detect this when compressing
to set up symlinks there as well. To reduce complexity, the qemu and
qemu_uefi_secure images are not supported anymore and the Jenkins or
GitHub CI will skip over them if specified. Users that build their own
images need to adapt, though.
2024-04-09 22:14:16 +09:00
Thilo Fromm
2f07358400 scripts, CI, workflows: remove submodule handling (flatcar-3510) 2023-04-13 11:26:06 +02:00
Thilo Fromm
8bd7b0c903 run-kola-tests.yaml: fix path of PR comment file
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
2023-03-31 12:26:46 +02:00
Thilo Fromm
7cab408b5d run-kola-tests.yaml: test report merge job
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
2023-03-30 13:48:16 +02:00
Thilo Fromm
e160917ec1 tapfile_helper ff.: support TAP and Markdown output
This change adds markdown output support to tapfile helper.
tap_generate_report() has been refactored to use low-level output
functions to write tests; TAP and markdown output is supported and both
are generated by default. Also, it should be straightforward to add
other output formats by implementing the respective low level print
functions.

The markdown output is now used by run-kola-tests.yaml to generate step
output and, if run from a PR, add a comment with test results to the PR.

Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
2023-03-30 13:48:16 +02:00
Thilo Fromm
138772c4e1 run-kola-tests.yaml: fix test-summary TAP formatting
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
2023-03-30 13:48:16 +02:00
Thilo Fromm
c4034d9a65 run-kola-tests: improve test results archive globs
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
2023-03-30 13:48:16 +02:00
Thilo Fromm
bed3bf87d4 .yaml: use HEAD commit ref for PR builds
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
2023-03-30 13:48:16 +02:00
Thilo Fromm
f1e3b30537 ci.yaml: extract + upload build logs also on failure
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
2023-03-30 13:48:16 +02:00
Thilo Fromm
b8a7333f44 dispatch-kola-tests.yaml: Elaborated comments on inputs 2023-03-30 13:48:16 +02:00
Thilo Fromm
e994ce6fdf ci.yaml: run only when ready and / or review requested 2023-03-30 13:48:16 +02:00
Thilo Fromm
c6a15a41a9 run-kola-tests.yaml: use new artifacts, local web server
This change updates the github actions kola test runner workflow to use
the new, separated artifacts produced by ci.yaml.

Further, it adds a fix for the devcontainer tests. Devcontainer and bin
packages used in the devcontainer tests are now served from a local
temporary web server.

The change also adds the qemu_update test and provides the respective
update payload.

Lastly, the tests now use a local torcx_manifest.json produced by
ci.yaml, which points to a torcx tarball also served by the local
temporary web server.
2023-03-30 13:48:16 +02:00
Thilo Fromm
69353bfa6d ci.yaml: re-use build container, finer grained artifact upload
This change removes "docker commit" at the end of each step and instead
makes build steps re-use the build container, saving some build time.

It also makes artifact upload more granular, so build logs, images, and
dev container can be downloaded individually.

Lastly, it exports torcx tarball and binary packages as a separate
artifact each, for successive re-use in the kola tests.
2023-03-30 13:47:48 +02:00
Krzesimir Nowak
f865792916 .github: Fix mantle update action
The variable is actually lowercase. Not sure how I ended up having
uppercase variant of it.
2022-11-18 14:36:42 +01:00
Krzesimir Nowak
de9d464635 .github: Modernize mantle update action
This is to avoid warnings about deprecated node 12 actions and
deprecated save-state and set-output commands.
2022-11-09 12:56:13 +01:00
Krzesimir Nowak
65d21af086 .github: Use lts-info
We can use lts-info to optionally update mantle container in old LTS
branch too.
2022-09-27 13:02:27 +02:00
Krzesimir Nowak
527d174b50
.github: Fix syntax error 2022-09-26 15:14:35 +02:00
Krzesimir Nowak
3ebbbd01cb .github: Update mantle in old LTS too 2022-09-26 14:23:47 +02:00
Kai Lueke
91a26e5e1e Use new github org name "flatcar"
The "flatcar-linux" github org was renamed to "flatcar". There are no
github redirections in place and we have to update all links.
2022-09-14 14:33:27 +02:00
Kai Lueke
71510fb117 .github: Specify remote when checking out c-o/p-s ref in workflow
When the specified remote contains a same-named branch as origin,
the checkout fails with "fatal: 'X' matched multiple (Y) remote
tracking branches".
Add the remote name as prefix to make the reference unambiguous.
2022-07-18 20:12:06 +02:00
Kai Lueke
58927811b1 .github: Use lxc containers for amd64 kola tests, too
While we moved the arm64 tests to lxc containers, amd64 stayed on VMs
which were not easy to scale up.
Now the GitHub Action runner is running on lxc containers and we can
spawn more VMs in parallel because it has no memory limit.
2022-07-15 12:19:16 +02:00
Gabriel Adrian Samfira
340fd39a9f
Update kola test workflow
* arm64 tests now run in LXD containers instead of VMs
  * parallelism increased for arm64
  * some setup steps are skipped on arm64

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-07-13 14:20:12 +03:00
Gabriel Adrian Samfira
6eabd91a04
Remove customizations for now
Remove arch and parallel options. Hardcode them for now.
2022-07-12 02:48:42 +03:00
Gabriel Adrian Samfira
879e5a2b30
Make the kola test workflow reusable
* Adds a reusable workflow that can run tests
  * Adapts the ci.yaml to use reusable workflow
  * Creates a new workflow that helps trigger tests using an arbitrary
    workflow run.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-07-11 16:23:35 +03:00
Mathieu Tortuyaux
f9b13baeb5
.github/ci: add kola qemu test
this initial attempt runs right after the "packages" jobs and downloads
the resulting artifacts.

The QEMU image is unzipped then the kola test is running using the
ci-automation scripts.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2022-07-07 10:01:49 +02:00
Gabriel Adrian Samfira
59e7b31778
Add concurency setting to CI workflow
This change will prompt the CI workflow to cancel a currently running
job, if a new push is sent in a PR. This should prevent duplicate jobs
running for the same PR simultaneously.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-07-04 21:18:31 +03:00
Kai Lueke
37253cd499 .github: Run CI workflow only for PR events
Building for the branch push event causes two builds per PR and is not
needed anyway (we have nightly builds for the main branch).
Only consider PR events to trigger the CI build.
2022-06-28 11:19:13 +02:00
Gabriel Adrian Samfira
6e03ea1821 Add CI workflow 2022-06-24 15:35:23 +00:00
Kai Lueke
bc0e2b521a .github: Update LTS mantle reference
The new LTS release will use the mantle container image.
Add automation to keep it up to date.
2022-05-04 14:33:31 +09:00
Kai Lueke
da0380c7e8 Run CI container pipeline kola tests with the new mantle image
The SDK container does not exist for arm64 and is quite heavy. We
currently also resort to a unconditional rebuilding of mantle inside
the SDK.
Use the new mantle container image to run kola tests, and pin its
version through a text file that gets updated by GitHub Actions.
2022-04-20 19:13:02 +09:00