1f37933b8b
* Extract common build steps to composite actions This allows us to repeat ourselves less across the different jobs. I also tested using a “reusable workflow” to factor out the common steps. However, this starts a separate job without a shared filesystem, which in turn requires us to upload/download artifacts when we want to use them in several jobs. The artifacts are downloaded one-by-one and this adds delays and extra steps to all jobs. * Move Rust cache setup to its own build step This made it easy to consistently setup the caching of our nested projects via the “workspacs” config key. |
||
---|---|---|
.github/workflows | ||
i18n-helpers | ||
po | ||
src | ||
third_party | ||
.gitignore | ||
book.toml | ||
Cargo.lock | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
ga4.js | ||
LICENSE.txt | ||
README.md | ||
rustfmt.toml | ||
speaker-notes.css | ||
speaker-notes.js | ||
svgbob.css | ||
TRANSLATIONS.md |
Comprehensive Rust 🦀
This repository has the source code for Comprehensive Rust 🦀, a four day Rust course developed by the Android team. The course covers all aspects of Rust, from basic syntax to generics and error handling. It also includes Android-specific content on the last day.
Read the course at https://google.github.io/comprehensive-rust/.
Course Format and Target Audience
The course is used internally at Google when teaching Rust to experienced software engineers. They typically have a background in C++ or Java.
The course is taught in a classroom setting and we hope it will be useful for others who want to teach Rust to their team. The course will be less useful for self-study since you miss out on the discussions happening in the classroom. You don't see the questions and answers and you don't see the compiler errors we trigger when going through the code samples. We hope to improve on this via speaker notes and by publishing videos.
Building
The course is built using mdBook and its Svgbob plugin. Install both tools with
$ cargo install mdbook
$ cargo install mdbook-svgbob
Then run
$ mdbook test
to test all included Rust snippets. Run
$ mdbook serve
to start a web server with the course. You'll find the content on
http://localhost:3000. You can use mdbook build
to create a static version
of the course in the book/
directory.
Contact
For questions or comments, please contact Martin Geisler or start a discussion on GitHub. We would love to hear from you.