Commit graph

25 commits

Author SHA1 Message Date
Dennis Kempin
1c66b6cf7e Add mingw64 builder to postsubmit
Mingw64 builds are used frequently by linux developers to check
windows portions of crosvm and part of ./tools/presubmit.

Test in postsubmit and once the builder is green it can be enabled
in the CQ as well.

BUG=b:254316054
TEST=recipes.py tests run

Change-Id: I8495446772a54d63644e73d07423892e28cedd1a
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3964541
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2022-10-18 21:12:14 +00:00
Dennis Kempin
9ecd15f4a5 infra: Disable coverage collection on armhf
The armhf rustc is not compiled with profiling enabled.
See https://github.com/rust-lang/rust/issues/79640

BUG=b:239255082
TEST=lucicfg validate

Change-Id: I65f66e1119f9560aea72fd00d8cc3427c1161525
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3831286
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: Dennis Kempin <denniskempin@google.com>
2022-08-15 19:38:42 +00:00
Dennis Kempin
a0a1820f41 Revert "infra: Disable coverage collection"
This reverts commit 0654af7d81.

Reason for revert: coverage collection is now working on aarch64

TEST=https://ci.chromium.org/swarming/task/5cad1b7c7d1e5110

Original change's description:
> infra: Disable coverage collection
>
> It is failing on aarch64/armhf
>
> BUG=b:239255082
> TEST=lucicfg validate
>
> Change-Id: I459d05b33cf1de66e72d399dd024e27933428f65
> Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3820343
> Tested-by: Dennis Kempin <denniskempin@google.com>
> Commit-Queue: Dennis Kempin <denniskempin@google.com>
> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
> Auto-Submit: Dennis Kempin <denniskempin@google.com>
> Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>

Bug: b:239255082
Change-Id: I90d430dbe3febe9be7919c21c092d1a5dae58730
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3830227
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-08-15 18:49:06 +00:00
Dennis Kempin
0654af7d81 infra: Disable coverage collection
It is failing on aarch64/armhf

BUG=b:239255082
TEST=lucicfg validate

Change-Id: I459d05b33cf1de66e72d399dd024e27933428f65
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3820343
Tested-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Auto-Submit: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2022-08-09 18:22:05 +00:00
Dennis Kempin
ea32120c5f infra: Enable coverage uploads for all builds
All linux post submit builders will upload coverage data.
The dedicated coverage builder is removed.

BUG=b:239255082
TEST=lucicfg validate

Change-Id: Iab0d733743c29352853e3dab2b1cd5caecd01c44
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3817978
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2022-08-09 17:23:42 +00:00
Dennis Kempin
56239c7efe infra: Add build_coverage infra builder
The builder will use the previously added build_coverage recipe
to generate and upload coverage informatin to codecov.io for each
commit submitted to crosvm.

BUG=b:239255082
TEST=lucicfg validate main.star

Change-Id: Ic11f526cac806bb280b2a79e81b5a36a82c93fba
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3805833
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: Dennis Kempin <denniskempin@google.com>
2022-08-04 04:16:00 +00:00
Dennis Kempin
92fabf70b8 infra: Add CQ list view and enable windows in CQ
Adds another dashboard of all presubmit / CQ builders and
enables windows in presubmit as well.

BUG=None
TEST=None

Change-Id: I36af76cec1306648993331dc8f9b9bfbec4637d4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3759329
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2022-07-12 22:30:45 +00:00
Dennis Kempin
894b82c591 infra: Reduce number of repetitions to 3
Tests run fast natively, 10 repetitions only take 5 minutes to run.
However for aarch64/armhf it can take >30 minutes. Which is ok for
post-submit but still unnecessarily slow.
3 repetitions is enough to find flakes.

BUG=b:238232551
TEST=None

Change-Id: I958ec734c85047c65a13d1cc172468622073d360
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3751033
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2022-07-11 18:42:45 +00:00
Dennis Kempin
12593ba642 infra: Add docs builder
The new builder will generate the mdbook and api docs, then
uploads them to GCS.

BUG=b:233411583
TEST=luci-auth context ./infra/recipes.py run build_docs

Change-Id: Ia22cdb20d73f9268db6299cd6f0875950d174b3f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3751832
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-07-08 22:26:31 +00:00
Dennis Kempin
aef95d2078 infra: Repeat tests in post-submit
This will help us find flaky test. Runtime increase is not that
significant (~10min).

BUG=b:238232551
TEST=Builder config needs to be tested in luci

Change-Id: Ie75cc9620177115623500fe2206f33464f4c8580
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3751831
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-07-07 23:00:04 +00:00
Dennis Kempin
b1abe58649 infra: Optimize cache usage among builders
Then 'builder' cache dir is set up by default to be a cache directory
for each builder, so luci will try to schedule a builder to run on
the same bot as before.
We can optimize that by sharing the cache among all linux builders.

BUG=b:238333690
TEST=lucicfg validate main.star

Change-Id: If4639658271881f1bf1ad001ae54f50645e8890a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3751828
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-07-07 23:00:04 +00:00
Dennis Kempin
a8552e6de4 infra: Drop crosvm_ prefix of builder names
Builders are already scoped to the crosvm.ci/try buckets, so there is
no need for the prefix.

BUG=None
TEST=lucicfg validate main.star

Change-Id: I997442e12c14d35e52b1a2c5bf145f0dc5bfd8f5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3749938
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2022-07-07 17:48:51 +00:00
Dennis Kempin
e3db2b5638 Add crosvm_linux_x86_64_direct builder
Similar to the one we added to kokoro, run tests with --crosvm-direct.

BUG=b:238234098
TEST=recipe tests included

Change-Id: I2b03ca02fbfb577fd5cebf346eec468ebd625626
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3749937
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2022-07-07 17:48:49 +00:00
Dennis Kempin
066276676b infra: Add crosvm_windows builder
This will enable a luci build on windows as post-submit while
we test the build_windows recipe.

BUG=b:233914170
TEST=lucicfg validate main.star

Change-Id: I46ba9309f5dbd6077c73d42bbaafe8986ab18af3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3718901
Reviewed-by: Vikram Auradkar <auradkar@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-06-23 22:23:54 +00:00
Dennis Kempin
079bbe99e0 infra: Update merge builder to run periodically
The Infra console view is replaced with a list view, since
the builds are no longer just post submit builds.

BUG=b:233913643
TEST=lucicfg validate main.star

Change-Id: Ia1ccc75251ccdb7ae567418235e2bf8b7d6aa16a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3692687
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2022-06-08 17:20:27 +00:00
Dennis Kempin
dd4b8f1676 infra: Add push-to-github builder
The builder runs as a post-submit and will force push changes to github.
Authentication is done via an access token stored in gcloud secrets
manager.

For this to work in the bot pool, the bots need to be reconfigured to
receive the scope needed for access to the secrets API as done in
https://crrev.com/i/4782519

Once this bot is working, the kokoro one can be turned off. Since we
mirror from platform/crosvm to the new repo, luci is triggered for all
new changes.

BUG=b:233913820
TEST=./recipe.py run push_to_github

Change-Id: I45478a076b87767ec10f0d0148c0713da7656264
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3671131
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
2022-05-31 21:26:19 +00:00
Dennis Kempin
44d9ee13cd infra: Fix typo in chromeos builder
The board name is amd64-generic, not amd64_generic.

BUG=b:233913797
TEST=None

Change-Id: I11a0ba7cda84614d757d58563d49cb476c26e47f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3680778
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-05-31 21:21:30 +00:00
Dennis Kempin
b360cd9fa9 infra: Add ChromeOS post-submit builder
This re-creates the Kokoro equivalent crosvm/ci/build-chromeos.sh.

It is a very inefficent builder that does a fresh checkout of
chromeos for every build.

We may want to consider using some of the chromiumos recipes
for caching the repo or sdk between builds.

BUG=b:233230344
TEST=./recipes.py test run
./recipes.py run build_chromeos

Change-Id: I5d545bae4817cae5b79c5d65901081d9b1391466
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3664842
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-05-26 22:03:51 +00:00
Dennis Kempin
ab93b5c3dc infra: Add verify builder for health_check
Adds a builder for both pre- and post-submit, executes the newly
added health_check recipe.

BUG=b:233913455
TEST=lucicfg validate main.star

Change-Id: I69e9738a02bb298d3b2556058d2df1ee9979bda4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3669815
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2022-05-26 20:33:29 +00:00
Dennis Kempin
0948bc8d3a infra: Initial setup of linux pre/post-submit builders
The builders use the existing dev_container to run tests
for the 3 currently supported architectures on linux:
x86_64, aarch64 and armhf.

A new recipe 'build_linux' has been added runs the
dev_container to build and execute tests.

To share code with other upcoming recipes, some of the
recipe code has been extracted into a shared crosvm
module.

Basic tests for the recipes have been added.

BUG=b:233230344
TEST=./recipes.py test run
./recipes.py run build_linux

Change-Id: I17ecb25c0a0eabdce56537831454ac22d4dc7021
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3654196
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2022-05-24 23:13:13 +00:00
Dennis Kempin
1b2000227f infra: Add CI and TRY builders to luci configuration
BUG=1300370
TEST=lucicfg validate main.star

Change-Id: I67eca30a694a69875eb585ad155fbf0419fed353
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3626224
Reviewed-by: Yuanjun Huang <yuanjunh@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2022-05-04 21:40:49 +00:00
Yuanjun Huang
95e1e6bb14 [Config] Add service accounts for the example builder
Bug:1300370
Change-Id: Ie8a3260c8539ea1aea736cc0f4bb4bfd61ac5871
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3622237
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Yuanjun Huang <yuanjunh@google.com>
2022-05-02 23:12:31 +00:00
Yuanjun Huang
f058ca98bd Fix Luci related configs validation errors
Fix validation errors in luci-scheduler.cfg:
1. (acl_sets): aclSet "ci" has no entries
2. (job / Example Builder / task): legacy v1 bucket names like
"luci.crosvm.ci" are no longer allowed, use "ci" instead
3. (job / Example Builder / acl_sets): referencing AclSet "ci" which
doesn't exist
4. (job / Example Builder): Job or Trigger must have OWNER acl set

The setup doc doesn’t mention what the ACL values should be. So I coped
ACL configs from `projects/infra` configs and those can be changed later.

Bug: chromium:1300370
Change-Id: Iffc57e37b62d5048ccff83836bb6dddec9e34c68
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3617164
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Tested-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Yuanjun Huang <yuanjunh@google.com>
2022-04-29 19:53:33 +00:00
Dennis Kempin
793004384d infra: Add recipes and example builder
Following the onboarding instructions. If everything works we should
have a builder at:
https://ci.chromium.org/p/crosvm/builders/ci/Example%20Builder

BUG=chromium:1300370
TEST=None

Change-Id: I98eeaad6ccffd228fdee116e664c9d2760708e24
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3500817
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-04-26 19:26:47 +00:00
Dennis Kempin
2b075d9c28 infra: Initial LUCI configuration
See tracking bug for reference: https://crbug.com/1300370

BUG=chromium:1300370
TEST=./infra/config/main.star

Change-Id: I1277d957e780aa8cf054eddeaaed588117d3dd2f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3488161
Reviewed-by: Yuanjun Huang <yuanjunh@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: Dennis Kempin <denniskempin@google.com>
2022-02-24 23:21:10 +00:00