Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce riscv64 CI #159

Merged
merged 1 commit into from
Sep 2, 2024

Conversation

TimePrinciple
Copy link
Contributor

Summary of the PR

Introduce logic necessary for generating YAML needed by BuildKite, which are designed to work with image introduced in
rust-vmm/rust-vmm-container#106.

Requirements

Before submitting your PR, please make sure you addressed the following
requirements:

  • All commits in this PR have Signed-Off-By trailers (with
    git commit -s), and the commit message has max 60 characters for the
    summary and max 75 characters for each description line.
  • All added/changed functionality has a corresponding unit/integration
    test.
  • All added/changed public-facing functionality has entries in the "Upcoming
    Release" section of CHANGELOG.md (if no such section exists, please create one).
  • Any newly added unsafe code is properly documented.

.buildkite/autogenerate_pipeline.py Outdated Show resolved Hide resolved
.buildkite/autogenerate_pipeline.py Outdated Show resolved Hide resolved
.buildkite/autogenerate_pipeline.py Show resolved Hide resolved
@TimePrinciple TimePrinciple force-pushed the introduce-riscv-ci branch 2 times, most recently from 10d9b98 to ffb6948 Compare August 6, 2024 11:50
Copy link
Collaborator

@roypat roypat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks :) Just some grammar nits.

.buildkite/autogenerate_pipeline.py Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@TimePrinciple TimePrinciple force-pushed the introduce-riscv-ci branch 2 times, most recently from 0bc69ce to 1421aac Compare August 8, 2024 09:36
.buildkite/autogenerate_pipeline.py Outdated Show resolved Hide resolved
.buildkite/autogenerate_pipeline.py Outdated Show resolved Hide resolved
@stefano-garzarella
Copy link
Member

The PR LGTM, please rebase it.

@TimePrinciple
Copy link
Contributor Author

The PR LGTM, please rebase it.

Thanks for reviewing, rebased now :)

Copy link
Collaborator

@roypat roypat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's wait for the rust-vmm-container CI to build the new containers, and then let's bump CONTAINER_VERSION here to get a final sanity check on everything :) But then we're good to go I think!

@TimePrinciple
Copy link
Contributor Author

Let's wait for the rust-vmm-container CI to build the new containers, and then let's bump CONTAINER_VERSION here to get a final sanity check on everything :) But then we're good to do I think!

Shall I do it in this PR or raise another one 🧐

@roypat
Copy link
Collaborator

roypat commented Aug 27, 2024

Let's wait for the rust-vmm-container CI to build the new containers, and then let's bump CONTAINER_VERSION here to get a final sanity check on everything :) But then we're good to do I think!

Shall I do it in this PR or raise another one 🧐

In this PR please :)

@TimePrinciple
Copy link
Contributor Author

Let's wait for the rust-vmm-container CI to build the new containers, and then let's bump CONTAINER_VERSION here to get a final sanity check on everything :) But then we're good to do I think!

Shall I do it in this PR or raise another one 🧐

In this PR please :)

Container version updated to v39 :)

@roypat
Copy link
Collaborator

roypat commented Aug 27, 2024

Let's wait for the rust-vmm-container CI to build the new containers, and then let's bump CONTAINER_VERSION here to get a final sanity check on everything :) But then we're good to do I think!

Shall I do it in this PR or raise another one 🧐

In this PR please :)

Container version updated to v39 :)

I think it'll need to be v40 (... which is my fault, I forgot to do a PR to update it to v39 when my rust toolchain update container got merged. Sorry!)

@TimePrinciple
Copy link
Contributor Author

Let's wait for the rust-vmm-container CI to build the new containers, and then let's bump CONTAINER_VERSION here to get a final sanity check on everything :) But then we're good to do I think!

Shall I do it in this PR or raise another one 🧐

In this PR please :)

Container version updated to v39 :)

I think it'll need to be v40 (... which is my fault, I forgot to do a PR to update it to v39 when my rust toolchain update container got merged. Sorry!)

Never mind, I've force pushed to v40 :)

@roypat
Copy link
Collaborator

roypat commented Aug 28, 2024

Mh, I just realized that it didn't even try to spawn the riscv64 CI jobs for this PR. Can we add the .platform file to this repository, so that the CI sanity checks we have also always run on riscv64? I think for this we'll need to make the .platform file discovery code slightly more clever, see for instance how the coverage test does it: https://github.com/rust-vmm/rust-vmm-ci/blob/main/integration_tests/test_coverage.py#L16

@TimePrinciple
Copy link
Contributor Author

TimePrinciple commented Aug 28, 2024

Mh, I just realized that it didn't even try to spawn the riscv64 CI jobs for this PR. Can we add the .platform file to this repository, so that the CI sanity checks we have also always run on riscv64? I think for this we'll need to make the .platform file discovery code slightly more clever, see for instance how the coverage test does it: https://github.com/rust-vmm/rust-vmm-ci/blob/main/integration_tests/test_coverage.py#L16

I gather that we need a mechanism to detect where this script is being executed, in a normal repo or submodule, and invoke CI accordingly. I will work it out.

Introduce logic necessary for generating YAML needed by BuildKite, which
are designed to work with image introduced in
rust-vmm/rust-vmm-container#106.

The container version is updated to v44 to enable CI on RISC-V platform.

Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
Copy link
Collaborator

@roypat roypat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@stefano-garzarella stefano-garzarella merged commit 752ad13 into rust-vmm:main Sep 2, 2024
2 checks passed
@stefano-garzarella
Copy link
Member

I just opened #162 to fix formatting issue highlighted by black on main: https://github.com/rust-vmm/rust-vmm-ci/actions/runs/10662874591/job/29550878188

@TimePrinciple TimePrinciple deleted the introduce-riscv-ci branch September 2, 2024 08:18
TimePrinciple added a commit to TimePrinciple/rust-vmm-ci that referenced this pull request Oct 3, 2024
After `.platform` mechanism was introduced in rust-vmm#159, it silently filters
out tests with no `platform` specified. Enable them to execute on
`x86_64` platform under such circumstances.

Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
TimePrinciple added a commit to TimePrinciple/rust-vmm-ci that referenced this pull request Oct 5, 2024
After `.platform` mechanism was introduced in rust-vmm#159, it silently filters
out tests with no `platform` specified. Enable them to execute by adding
`platform is not None` predicate preceeds allowlist check.

Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
TimePrinciple added a commit to TimePrinciple/rust-vmm-ci that referenced this pull request Oct 6, 2024
After `.platform` mechanism was introduced in rust-vmm#159, it silently filters
out tests with no `platform` specified. Enable them to execute by adding
`platform is not None` predicate preceeds allowlist check.

Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
TimePrinciple added a commit to TimePrinciple/rust-vmm-ci that referenced this pull request Oct 6, 2024
After `.platform` mechanism was introduced in rust-vmm#159, it silently filters
out tests with no `platform` specified. Enable them to execute by adding
`platform is not None` predicate preceeds allowlist check.

Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
TimePrinciple added a commit to TimePrinciple/rust-vmm-ci that referenced this pull request Oct 6, 2024
After `.platform` mechanism was introduced in rust-vmm#159, it silently filters
out tests with no `platform` specified. Enable them to execute by adding
`platform is not None` predicate preceeds allowlist check.

Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
roypat pushed a commit that referenced this pull request Oct 7, 2024
After `.platform` mechanism was introduced in #159, it silently filters
out tests with no `platform` specified. Enable them to execute by adding
`platform is not None` predicate preceeds allowlist check.

Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants