97 Commits

Author SHA1 Message Date
Kai Lüke
4f28e58406 Update ci-automation/vendor-testing/azure.sh 2022-05-27 15:05:09 +09:00
Kai Lüke
317cccef85 Update ci-automation/vendor-testing/azure.sh 2022-05-27 15:05:09 +09:00
Sayan Chowdhury
72529a5c75 fixup! ci-automation/azure: Add initial container tests infra for Azure 2022-05-27 15:05:09 +09:00
Sayan Chowdhury
7e430cbce9 fixup! ci-automation/azure: Add initial container tests infra for Azure 2022-05-27 15:05:09 +09:00
Sayan Chowdhury
f14a694825 fixup! ci-automation/azure: Add initial container tests infra for Azure 2022-05-27 15:05:09 +09:00
Sayan Chowdhury
9f731ab128 ci-automation/azure: Add initial container tests infra for Azure
Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
2022-05-27 15:05:09 +09:00
Kai Lueke
f8a8289bd1 ci-automation: Push version file early
When a nightly build is started that pushes the version file to the
branch it was doing so only at the end of the build, causing the push
to fail if something else got merged in between.
Push the version file early by generating it the same way it would be
generated by the run_sdk_container/bootstrap_sdk_container scripts.
In the case of the SDK the version file gets the same version for the
OS and the SDK. Add some explanations about the version formats. Note
that the scripts will still rewrite the file but it should be a no-op.
2022-05-24 17:43:30 +09:00
Kai Lueke
7ae58089cb ci-automation/sdk_bootstrap.sh: Allow omitting the optional parameters
The coreos/portage refs were allowed to be empty strings but the way
the function was run from Groovy the lack of quoting caused the empty
strings to be missing parameters.
Since the two parameters are meant to be optional, support omitting
them.
2022-05-24 17:43:30 +09:00
Kai Lueke
727dd03caf ci-automation/vendor-testing/equinix_metal.sh: Use test framework
The test framework from the AWS PR allows us to align the logic which
also addresses some bugs we had here.
Port the Equinix Metal test over to the new framework (and also use
different test basenames per architecture while at it which could
otherwise result in clashes).
2022-05-11 19:13:35 +09:00
Kai Lueke
77ed5a3753 ci-automation/vendor-testing/gce.sh: Test GVNIC and break retest cycle
The logic we had in some tests for covering different instance types
now got more easy to reuse for testing the GVNIC mode in GCE.
Align the GCE test with AWS and DigitalOcean to test an additional
"instance type" (here just changing the NIC) and break the retest spin
case it gets called for arm64.
2022-05-11 17:27:24 +09:00
Krzesimir Nowak
a9a360ee19 ci-automation: Make AWS test script to work 2022-05-10 18:37:44 +02:00
Krzesimir Nowak
364dd12c00 ci-automation: Add helper functions for running tests on multiple instances 2022-05-10 18:37:44 +02:00
Krzesimir Nowak
60cb76a546 ci-automation: Fix passing multiple test names to vendor scripts 2022-05-10 18:37:44 +02:00
Krzesimir Nowak
ecdfba11b8 ci-automation: Let vendor scripts know if this is their first run
I will need it to correctly handle test reruns as we will need to
handle passed test names differently on first runs than on reruns.
2022-05-10 18:37:44 +02:00
Dongsu Park
5fc9397fcb ci-automation: Add WIP AWS test script for CI automation 2022-05-10 18:37:44 +02:00
Krzesimir Nowak
379188943a ci-automation: Add new vendor test for VMware 2022-05-10 18:37:38 +02:00
Krzesimir Nowak
0ca22d3663 ci-automation: Fix credentials handling in digital ocean 2022-05-10 18:37:32 +02:00
Krzesimir Nowak
5dc6c46295 ci-automation: Fix secret file handling
It can't be done in a subshell, because the file will be gone after
subshell quits.
2022-05-10 18:37:32 +02:00
Krzesimir Nowak
baf211a07b ci-automation: Rename some variables and make them overridable 2022-05-10 18:37:32 +02:00
Krzesimir Nowak
c598fcac7c ci-automation: Add secrets handling 2022-05-10 18:37:32 +02:00
Krzesimir Nowak
dbab550f0b ci-automation: Drop boilerplate code from digital ocean test 2022-05-10 18:37:32 +02:00
Krzesimir Nowak
7cca047879 ci-automation: Add retest cycle breaking functionality 2022-05-10 18:37:32 +02:00
Krzesimir Nowak
5f77919bef ci-automation: Add URL template handling 2022-05-10 18:37:32 +02:00
Krzesimir Nowak
0e408d4960 ci-automation: Initial test script for Digital Ocean 2022-05-10 18:37:32 +02:00
Krzesimir Nowak
1375d89dd5 ci-automation: Use vendor_test.sh in equinix_metal and gce tests 2022-05-06 08:59:24 +02:00
Krzesimir Nowak
58f665238e ci-automation: Reduce boilerplate in vendor tests
Move the common setup to the vendor_test.sh script, which will be
sourced by the vendor scripts.
2022-05-06 08:59:24 +02:00
Kai Lueke
56d29597a0 ci-automation: add GCE image test
The GCE image test runs on a single instance type for now. In the
future it would be good to test the new NIC type with the cl.internet
test.
2022-05-05 18:22:29 +09:00
Mathieu Tortuyaux
ed12d9a68c ci-container/test: add equinix-metal test script
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Co-authored-by: Kai Lüke <pothos@users.noreply.github.com>
2022-05-04 22:45:52 +09:00
Kai Lueke
b596a7ad72 CI: Support comparing to current LTS and updating from it
When the restriction that the CI can't access the LTS release is gone
we can support to run the image comparison and the kola update test.
2022-04-29 16:36:13 +09:00
Kai Lueke
f7bd5c9fa9
ci-automation/vms: handle platform names and generate the image formats
The kola test scripts are named by the platforms. The image naming is
also quite difficult to know and remember, e.g., whether "ami" or
"ami_vmdk" is needed for AWS tests and whether it's "vmware" or
"vmware_ova".

To address these problems the vms build stage now accepts the platform
names as format input, and for each platform it will automatically
generate the needed image types to run the tests.
2022-04-28 15:48:40 +02:00
Mathieu Tortuyaux
ad0ecf9156
ci-automation/vm: build PXE if Equinix Metal is built
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2022-04-28 15:48:36 +02:00
Kai Lueke
0bd487b038 ci-automation: silence rsync
The rsync copy logs made it hard to navigate the job output.
Remove the --progress and -v flags.
2022-04-20 19:19:34 +09:00
Kai Lueke
521f5f2401 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:19:34 +09:00
Mathieu Tortuyaux
8288044b96 ci-automation/vms: rename equinix_metal to packet
this is required to keep "packet" in the SDK linguo while the user can
use "equinix_metal" term.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Co-authored-by: Krzesimir Nowak <knowak@microsoft.com>
2022-04-20 19:17:38 +09:00
Kai Lueke
3e0c0c4ba0 ci-automation: use a single git tag and skip nightlies with no changes
The pipeline created two tags if an SDK was built, one for the SDK and
one for the OS build (which was a free-standing tag or a local state
that was equivalent to the existing tag of the same name). The
nightlies created update commits on the main branch, even if no change
was done, and on the release branches we lacked these commits.

Create the release tag in the nightly SDK bootstrap already and reuse
it for the nightly OS build. Instead of local state, checkout the
existing tags explicitly. Extend the nightly update commit logic to
cover release branches and detect if we can skip building because no
changes were done.
2022-04-04 17:26:14 +02:00
Thilo Fromm
662707487b ci-automation/test.sh: remove PARALLEL_TEST passing (move to CI)
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-04-01 15:19:41 +02:00
Thilo Fromm
308d96c1e4 ci-automation/test.sh: export PARALLEL_TESTS
Export PARALLEL_TESTS in the container's .env file to ensure it is
passed to the vendor script.
2022-03-23 12:25:43 +01:00
Thilo Fromm
9b83d3e80b
Merge pull request #258 from flatcar-linux/t-lo/ci-automation-tests-use-latest-kola
ci-automation/test.sh: use the latest kola from coreos-overlay
2022-03-16 17:04:16 +01:00
Kai Lueke
c149d24ced run_sdk_container: Fall back to tar ball download for SDK image
The nightly SDK image is not pushed to a registry but has to be
downloaded from the build server as tar ball.
Fall back to the tar ball import for a better user experience.
To reuse the ci logic it had to support the "docker" env variable.
The use of the pigz container is not always needed if the user has
pigz available.
2022-03-16 15:31:03 +01:00
Thilo Fromm
6286b0a442 ci-automation/test.sh: use the latest kola from coreos-overlay 2022-03-16 14:14:46 +01:00
Thilo Fromm
a9700e16fb ci-automation/tapfile_helper_lib.sh: remove non-printable ASCII
Jenkins TAP file parser does not process non-printable ASCII characters
but bails out. This change removes all ASCII < 0x1F, so non-printable
characters are not included in the TAP report.

Fixes
    Caused by: unacceptable character '' (0x1B) special characters are not allowed
2022-03-16 09:37:48 +01:00
Thilo Fromm
53c90388c0 ci-automation/vendor-testing/qemu_update.sh: fix unbound
One-line fix to resolve
    ci-automation/vendor-testing/qemu_update.sh: line 64: testscript: unbound variable
error.

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-03-15 17:39:28 +01:00
Kai Lüke
d3aa4f1331
Merge pull request #247 from flatcar-linux/kai/set-official
ci-automation: set images as official based on version
2022-03-10 12:41:10 +01:00
Thilo Fromm
b6caa4163d
Merge pull request #246 from flatcar-linux/t-lo/ci-automation-tests-pass-parallel-env-to-container
automation/test.sh: pass PARALLEL_TESTS to container
2022-03-10 12:24:55 +01:00
Kai Lüke
fff05f00c5
Merge pull request #245 from flatcar-linux/kai/sdk-tests
ci-automation: print kola command line
2022-03-10 12:06:07 +01:00
Thilo Fromm
194c503b56
Merge pull request #249 from flatcar-linux/t-lo/ci-automation-tapfile-ascii
ci-automation/tapfile_helper_lib.sh: only ASCII chars
2022-03-10 11:34:04 +01:00
Thilo Fromm
aa6a742efa ci-automation/tapfile_helper_lib.sh: only ASCII chars
This change removes all non-ASCII characters from test debug / error
output when ingesting the output for inclusion in the TAP report.
Jenkins TAP parser does not handle some unicode chars, leading to tap
parser errors with e.g. Cilium output (which uses unicode).

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-03-10 10:20:11 +01:00
Jeremi Piotrowski
25cf7c4fc5 ci-automation/tapfile_helper_lib: fix commiting last transaction
Move the final db commit to inside the subshell. Since the while loop
runs inside a subshell, the SQL variable outside of the subshell is not
modified, and so the last contents of the SQL variable are dropped. This
shows up when the last couple test cases don't have an error message,
and simply append the transaction to 'SQL'. They are never written to
the db.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2022-03-10 09:14:42 +01:00
Thilo Fromm
d266229434
ci-automation/test.sh: handle unset PARALLEL_TESTS
Co-authored-by: Kai Lüke <pothos@users.noreply.github.com>
2022-03-10 08:24:44 +01:00
Kai Lueke
c3ae1ce3b0 ci-automation: set images as official based on version
The image needs to be set into official mode through a helper script
(see jenkins/images.sh) and the COREOS_OFFICIAL variable needs to be
set for prod_image_util.sh/build_image_util.sh/grub_install.sh.
2022-03-09 18:19:52 +01:00