Skip to content

Parallel CI#278

Merged
jonathanpallant merged 1 commit intomainfrom
parallel-ci
May 1, 2025
Merged

Parallel CI#278
jonathanpallant merged 1 commit intomainfrom
parallel-ci

Conversation

@miguelraz
Copy link
Contributor

@miguelraz miguelraz commented Apr 14, 2025

This PR:

  • Makes the build.sh called by CI call the build/test functions defined in build_fns.sh for training-slides
  • Ibid for example-code
  • Ibid for build-ferrocene.sh
  • Ibid for qemu-aarch64v8a
  • Ibid for qemu-aarch32v8r
  • Ibid for qemu-thumbv7em
  • Parallelizes said jobs (reasonably, so that wall time is <1m)
  • Adds caching where possible

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Apr 14, 2025

Deploying ferrous-systems-rust-training with  Cloudflare Pages  Cloudflare Pages

Latest commit: e118f95
Status: ✅  Deploy successful!
Preview URL: https://a53b216d.ferrous-systems-rust-training.pages.dev
Branch Preview URL: https://parallel-ci.ferrous-systems-rust-training.pages.dev

View logs

@miguelraz miguelraz marked this pull request as ready for review April 14, 2025 19:51
@miguelraz
Copy link
Contributor Author

Force pushed to keep a tidier git history.

Note that I haven't removed the old versions of the job to facilitate migrating to the parallel ones.

@miguelraz
Copy link
Contributor Author

I no longer have commit rights here, so I believe you'll have to push this over the finish line @jonathanpallant.

jonathanpallant
jonathanpallant previously approved these changes May 1, 2025
@jonathanpallant jonathanpallant dismissed their stale review May 1, 2025 10:37

Actually, I want to change this a bit.

@jonathanpallant jonathanpallant force-pushed the parallel-ci branch 4 times, most recently from dec5822 to f9de88f Compare May 1, 2025 12:49
* Now build_fns.sh has a function for each 'thing' we can build.
* localbuild.sh builds all the things.
* The Github CI also builds all the things, but in parallel.

You can run a partial build like:

  $ ./localbuild.sh test-cheatsheets ferrocene-qemu-aarch64v8a ferrocene-qemu-aarch32v8r ferrocene-qemu-thumbv7em
@jonathanpallant
Copy link
Member

OK, I've moved all the logic into a single file. If you execute the file, you get everything. If you pass arguments, you can pick a subset. The Github Action calls the same file, but only selecting one operation.

Having done this in bash, I did wonder if I should have done it as a Justfile. But that would involve installing just and this doesn't.

Copy link
Member

@Hoverbear Hoverbear left a comment

Choose a reason for hiding this comment

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

bors merge

@jonathanpallant
Copy link
Member

ahh, no bors here sadly

@jonathanpallant jonathanpallant merged commit 3a57bb7 into main May 1, 2025
14 checks passed
@jonathanpallant jonathanpallant deleted the parallel-ci branch May 29, 2025 10:26
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