Skip to content

Conversation

@vados-cosmonic
Copy link
Contributor

This commit enables using a pre-existing weval binary -- this is mostly to try to avoid some flaky tests in jco downstream, but this is probably a reasonable thing to have in general.

I also shuffled around some instructions/docs while I was in there.

Copy link

@guybedford guybedford left a comment

Choose a reason for hiding this comment

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

Looks great, thanks.

@vados-cosmonic vados-cosmonic force-pushed the feat=enable-use-of-preexisting-weval-binary branch 28 times, most recently from f150422 to 9b953e6 Compare November 9, 2024 10:34
@vados-cosmonic vados-cosmonic force-pushed the feat=enable-use-of-preexisting-weval-binary branch 3 times, most recently from a8f74f5 to 13203d4 Compare November 9, 2024 12:42
@vados-cosmonic
Copy link
Contributor Author

Hey @guybedford requesting another review just because of the dramatic change to the CI stuff 🙇 -- took a while but it's finally 🟢

I'm pretty sure I covered the dependency graph properly, the build should now be much faster. We'll have to pay extra attention to cache keys for the three builds in the future, though IMO the current set should work for a while.

Right now we build against latest (22, for now) and 20 -- I'm happy to only build against latest if you'd like!

@guybedford
Copy link

What happened to the Weval-specific update to just use the direct release URLs? If that doesn't require API gating that sounds ideal to me.

Is this PR still needed if that lands?

@vados-cosmonic
Copy link
Contributor Author

Hey @guybedford sorry a bit late getting to this, but I was hoping that the update to use direct URLs and this could land -- this PR would enable using a pre-existing weval binary (which would remove our need to pull the URLs at all -- though we should still pick the more direct URL)

@guybedford
Copy link

@vados-cosmonic thanks for the confirmation - I don't mean to be pedantic, but I feel that it's important to get this one fixed upstream first, before landing the alternative paths, as that solves the issue for all Weval users instead of just us.

@guybedford
Copy link

I've posted bytecodealliance/weval#13 for clarity.

@alexanderkjeldaas
Copy link

can you do the same for wizer? The existing setups does not work on operating systems such as NixOS.

This commit adds the ability to use a pre-existing `weval` binary as
an option to `componentize`.

This should enable builds without internet but hopefully also cut down
on failures due to being unable to fetch the binary dynamically.

Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
@vados-cosmonic vados-cosmonic force-pushed the feat=enable-use-of-preexisting-weval-binary branch from 13203d4 to ebec5c2 Compare November 25, 2024 12:39
This commit heavily refactors the CI build pipeline to separate
different build steps to improve build times and caching.

It *should* be easier to see the dependency between the builds:

- splicer (jit/AOT independent)
- StarlingMonkey JIT
- StarlingMonkey AOT (Weval)

Along with these builds, JIT/AOT tests that should come after can pull
the relevant cached artifacts.

Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
@vados-cosmonic vados-cosmonic force-pushed the feat=enable-use-of-preexisting-weval-binary branch from ebec5c2 to fd20df6 Compare November 25, 2024 12:40
@vados-cosmonic
Copy link
Contributor Author

Hey @alexanderkjeldaas that sounds like a great idea! Would you mind making a new issue for it? The changes should be relatively straight forward, so we could discuss it there and probably anyone could come along and implement :)

Copy link

@guybedford guybedford left a comment

Choose a reason for hiding this comment

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

Looks great, just left a few comments but otherwise a nice refactoring of the CI.

Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
@vados-cosmonic vados-cosmonic force-pushed the feat=enable-use-of-preexisting-weval-binary branch from c407576 to e682dfa Compare November 25, 2024 18:50
Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
@vados-cosmonic vados-cosmonic force-pushed the feat=enable-use-of-preexisting-weval-binary branch 3 times, most recently from 0b0dceb to 89a1d4e Compare November 25, 2024 19:29
Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
@vados-cosmonic vados-cosmonic force-pushed the feat=enable-use-of-preexisting-weval-binary branch from 89a1d4e to bc92af2 Compare November 25, 2024 19:32
@guybedford guybedford merged commit 5c82c8d into bytecodealliance:main Nov 25, 2024
11 checks passed
@vados-cosmonic vados-cosmonic deleted the feat=enable-use-of-preexisting-weval-binary branch November 26, 2024 04:41
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