Skip to content

Add isolated IRC11 toolchain CI - #708

Merged
hiroki-chen merged 3 commits into
asterinas:mainfrom
hiroki-chen:irc11-toolchain-ci
Aug 14, 2026
Merged

Add isolated IRC11 toolchain CI#708
hiroki-chen merged 3 commits into
asterinas:mainfrom
hiroki-chen:irc11-toolchain-ci

Conversation

@hiroki-chen

Copy link
Copy Markdown
Collaborator

This is the first step toward incrementally integrating weak-memory support into vostd. The existing toolchain and verification CI remain unchanged, so the current OSTD/RCU verification path is not affected.

  • Add an isolated GitHub Actions workflow for the IRC11 Verus toolchain.
  • Pin the Verus base revision and apply the IRC11 and vstd compatibility patches.
  • Build vstd with --vstd-weak-memory.
  • Add a smoke test ensuring SC and IRC11 atomics can coexist.

@Marsman1996

Copy link
Copy Markdown
Collaborator

so the current OSTD/RCU verification path is not affected.

This solves my previous concern.

But I have another question: if the proof code is merged, can I still verify VOSTD with main branch Verus?

@hiroki-chen

Copy link
Copy Markdown
Collaborator Author

Not as-is. The weak-memory proofs directly depend on IRC11-specific vstd APIs, so main-branch Verus cannot resolve or type-check them. To preserve compatibility, we need to feature-gate the weak-memory proofs, keep the existing SC path as the default, and verify both configurations in separate CI jobs.

@Marsman1996 Marsman1996 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

To preserve compatibility, we need to feature-gate the weak-memory proofs

Then I guess this is a good start,
hope Verus could merge the IRC11 branch soon.

@Marsman1996

Copy link
Copy Markdown
Collaborator

And can the patches here be merged into the upstream Verus IRC11 branch?

@hiroki-chen

Copy link
Copy Markdown
Collaborator Author

And can the patches here be merged into the upstream Verus IRC11 branch?

The patches apply to the asterinas' fork of Verus; if needed we can use verus-lang/verus' IRC11 branch w/o these patches.

@Marsman1996

Copy link
Copy Markdown
Collaborator

And can the patches here be merged into the upstream Verus IRC11 branch?

The patches apply to the asterinas' fork of Verus; if needed we can use verus-lang/verus' IRC11 branch w/o these patches.

Are these patches general enough that we could eventually submit them as PRs to the upstream Verus repository, or are they specifically designed for Asterinas?

@hiroki-chen

Copy link
Copy Markdown
Collaborator Author

And can the patches here be merged into the upstream Verus IRC11 branch?

The patches apply to the asterinas' fork of Verus; if needed we can use verus-lang/verus' IRC11 branch w/o these patches.

Are these patches general enough that we could eventually submit them as PRs to the upstream Verus repository, or are they specifically designed for Asterinas?

These patches were cherry-picked from IRC11 to make Asterinas' fork of verus work so there is no need to submit individual PRs for Verus.

@Marsman1996

Copy link
Copy Markdown
Collaborator

And can the patches here be merged into the upstream Verus IRC11 branch?

The patches apply to the asterinas' fork of Verus; if needed we can use verus-lang/verus' IRC11 branch w/o these patches.

Are these patches general enough that we could eventually submit them as PRs to the upstream Verus repository, or are they specifically designed for Asterinas?

These patches were cherry-picked from IRC11 to make Asterinas' fork of verus work so there is no need to submit individual PRs for Verus.

Sorry for the mistake, I thought they are for the upstream Verus...

@Marsman1996

Copy link
Copy Markdown
Collaborator

After thinking about it, I think maintaining these patches in Asterinas' fork of Verus is reasonable. Since Verus's IRC11 branch is behind main, VOSTD already contains some code that can only be verified with the latest Verus version.

Revert the latest commit and this PR is good to me

@hiroki-chen
hiroki-chen merged commit 36a0998 into asterinas:main Aug 14, 2026
5 checks passed
@hiroki-chen
hiroki-chen deleted the irc11-toolchain-ci branch August 14, 2026 08:29
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.

2 participants