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

Dev branch requested for changes | Master becomes unstable sometimes? #61

Closed
bitvijays opened this issue Feb 13, 2020 · 2 comments
Closed

Comments

@bitvijays
Copy link
Contributor

Dear Cheribuild Team,

Hope you are doing well. Thank you for your support.

Recently, we have been trying to compile Cheri using Cheribuild. Few times, it was successful and we were able to compile and ssh to the cheribsd. However, few times, because of the recent changes, we got compilation errors. Would it be possible for you to create a dev branch or any other branch for changes? and once it is stable, we can merge to master.

This would make master branch more stable and compilation error-free.

Thank you

Yours Sincerely,
Vijay

@arichardson
Copy link
Member

Dear Vijay,

It's great to hear that you succeeded in building and running CheriBSD with cheribuild.

I apologize for the instability over the past few weeks/months. We have been trying to add support for RISC-V and been testing MIPS less in the process. This has resulted in various unnecessary build failures.

By instability, do you mean instability of cheribuild itself? Or the projects being built with cheribuild?

For the dependent projects, I have been trying to improve our continuous integration to allow better pre-merge checks on pull requests. This should result in fewer build failures.
For some of our projects we have already moved to a model where larger changes use a dedicated branch (e.g. I always make larger changes to LLVM in the dev branch).
I agree that moving to a model where our master branches are generally stable is desirable. However, this will require further changes to our continuous integration system.

The current phase of large breaking changes should be over now and all branches will be more stable. Nevertheless, there are many configuration options that can be set and we can't test all combinations but the default cheribuild settings should be supported.
As our CI capacity is limited we can't guarantee that all targets will be always be compilable (changes in system headers may result in build breakage of some dependent target such as WebKit or Postgres).
However, we will try our best to ensure that it is always possible to build and run CheriBSD.

We will continue to work on improving stability. The current state is as follows:

  • QEMU: I generally run the test suite before pushing, so the master branch should be stable.
  • LLVM: master should be stable and all commits that break tests will be reverted. However, it is possible that newly added warnings result in -Werror build failures for other targets. Therefore all merges that introduce new warnings remain in the dev branch and are never merged before at least CheriBSD compiles.
  • CheriBSD: Pull requests now run in jenkins for all supported targets before being merged, so general stability should be a lot better now.

@arichardson
Copy link
Member

We are using dev branches for cheribsd/llvm/qemu, so this should be fixed now.

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

No branches or pull requests

2 participants