2023-07-26 –, 26-100
This past year, the CI ecosystem in Julia has seen some notable improvements. Attend this talk to learn how we’ve built workflows to support the growing needs of Base Julia CI, our friends at SciML and even some other ecosystem projects that require very wide platform testing. Our efforts have also made Base Julia CI more reliable, reproducible, and easily analyzed. This talk will showcase some of the tools available to ecosystem projects in need of a deeper degree of testing.
Julia’s CI landscape has seen some notable improvements, both with respect to the compute and the tooling available. In this talk, we’ll demonstrate how you can make the best use of Buildkite for your packages in the Julia ecosystem from start to finish - Including testing on GPUs!
Since each package’s CI requirements are likely to vary from each other, we’ll talk about plugins that can help make your lives a bit easier, including tasks such as:
- Securely using secrets in your workflows
- Running workflows within isolated, reproducible sandboxes
- Easily customizing such sandboxes on the fly
- Avoiding boilerplate with template workflows
- Ensuring code integrity is maintained before running sensitive workflows
For each plugin, we’ll delve into the motivation behind the plugin first, followed by some small implementation details users need to know about to properly use each.
We’ll also present simple, toy examples of all this tooling so that users can reference them while building their own, more complex pipelines.
Finally, we’ll showcase some real examples where these plugins are put to good use by some of the packages in our ecosystem. Come, let’s talk CI!
I'm a Software Developer at JuliaHub, working on the JuliaSim suite of products. I'm also easily nerd-sniped.
I am a senior research engineer at JuliaHub, where I design next-generation tools for the Julia programming language. I received my Ph.D. from the University of Washington in Electrical Engineering, specializing in Digital Signal Processing. I also have experience in a number of related fields including low-level microcontroller programming, electromagnetics and wireless communications, high performance computing, and machine learning.