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

Install Sail from binary in CI #532

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Timmmm
Copy link
Collaborator

@Timmmm Timmmm commented Aug 29, 2024

This should be a lot faster. It also means the version is pinned properly which wasn't the case before.

I also recommended users to do the same in the README do they don't have to deal with OPAM.

@@ -7,19 +7,17 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Install packages
run: sudo apt install -y opam zlib1g-dev pkg-config libgmp-dev z3 device-tree-compiler
run: sudo apt install -y opam zlib1g-dev pkg-config libgmp-dev device-tree-compiler curl
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should be able to get rid of opam now as well.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think it's still needed to build the OCaml version of the emulator which hasn't been removed yet. Actually I may need to keep the opam init, but I'll see what happens.

Copy link
Contributor

Choose a reason for hiding this comment

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

We might be able to just install OCaml directly in that case and avoid opam init.

@Timmmm Timmmm force-pushed the user/timh/binary_release branch 3 times, most recently from 5732cb9 to c941569 Compare August 29, 2024 16:24
@Alasdair
Copy link
Collaborator

A trick I use in the Sail CI to speed it up is to cache the ~/.opam directory: https://github.com/rems-project/sail/blob/sail2/.github/workflows/build.yml

This should be a lot faster. It also means the version is pinned properly which wasn't the case before.

I also recommended users to do the same in the README do they don't have to deal with OPAM.
@Timmmm
Copy link
Collaborator Author

Timmmm commented Aug 29, 2024

I'm hoping we can get away without OPAM as @jordancarlin suggested.

If this attempt doesn't work I'm writing a Dockerfile so I can try it locally! The edit-build-test cycle for Github CI is ridiculous.

@Timmmm
Copy link
Collaborator Author

Timmmm commented Aug 29, 2024

Well, the C side seemed to work, but the OCaml build fails because it can't find ocamlfind, and we use -use-ocamlfind.

Maybe I'll just finish #509 first.

Copy link

Test Results

712 tests  ±0   396 ✅  - 316   0s ⏱️ ±0s
  6 suites ±0     0 💤 ±  0 
  1 files   ±0   316 ❌ +316 

For more details on these failures, see this check.

Results for commit 3535688. ± Comparison against base commit 05b845c.

@jordancarlin
Copy link
Contributor

jordancarlin commented Aug 29, 2024

Well, the C side seemed to work, but the OCaml build fails because it can't find ocamlfind, and we use -use-ocamlfind.

Maybe I'll just finish #509 first.

That probably makes sense because otherwise it’s just unnecessary work that’ll be quickly obsolete. Or we just leave opam for now (assuming it has all the needed dependencies).

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