mirror of
https://github.com/Noratrieb/slides.git
synced 2026-01-14 08:25:05 +01:00
222 lines
6.1 KiB
HTML
222 lines
6.1 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
|
|
<title>how to contribute to the Rust project</title>
|
|
|
|
<link rel="stylesheet" href="dist/reset.css">
|
|
<link rel="stylesheet" href="dist/reveal.css">
|
|
<link rel="stylesheet" href="dist/theme/black.css">
|
|
|
|
<!-- Theme used for syntax highlighted code -->
|
|
<link rel="stylesheet" href="plugin/highlight/monokai.css">
|
|
</head>
|
|
<body>
|
|
<div class="reveal">
|
|
<div class="slides">
|
|
<section>how to contribute to the Rust project</section>
|
|
<section>
|
|
<h2>whoami</h2>
|
|
<div style="display: flex;">
|
|
<div>
|
|
<div>Nilstrieb</div>
|
|
<ul>
|
|
<li>contributing since 2022</li>
|
|
<li>compiler contributors team since 2023</li>
|
|
</ul>
|
|
<br>
|
|
</div>
|
|
<div>
|
|
<img src="me.png" height="300">
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section>
|
|
<h2>made in collaboration with</h2>
|
|
<div>you who sees this right now</div>
|
|
<div>and you</div>
|
|
<div>and you too</div>
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
## i want to contribute
|
|
|
|
- don't need to be an expert!
|
|
- time and interest
|
|
</textarea>
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
# what to contribute?
|
|
</textarea>
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
# not writing code
|
|
</textarea>
|
|
</section>
|
|
<section>
|
|
<h2>thanks.rust-lang.org</h2>
|
|
<img src="thanks-rlo.png">
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
## triaging issues
|
|
|
|
easy to get started
|
|
|
|
- labelling
|
|
- minimization
|
|
- bisecting
|
|
- adding tests
|
|
</textarea>
|
|
</section>
|
|
<section>
|
|
<h2>labelling</h2>
|
|
<img src="triage-issue-description.png">
|
|
</section>
|
|
<section>
|
|
<h2>labelling</h2>
|
|
<img src="triage-labels.png">
|
|
<a href="https://forge.rust-lang.org/release/issue-triaging.html">https://forge.rust-lang.org/release/issue-triaging.html</a>
|
|
</section>
|
|
<section>
|
|
<h2 style="display: flex; justify-content: center; align-items: center;">bisection <img src="E-needs-bisection.png" height="60"></h2>
|
|
<img src="triage-bisect-issue.png">
|
|
</section>
|
|
<section>
|
|
<h2>bisection</h2>
|
|
<pre><code data-triM>
|
|
$ cargo new bisect
|
|
Created binary (application) `bisect` package
|
|
$ cd bisect
|
|
$ vim src/main.rs
|
|
$ cargo-bisect-rustc --access github --regress ice \
|
|
--start 2023-01-01 --end 2023-12-19
|
|
</code></pre>
|
|
<a href="https://github.com/rust-lang/cargo-bisect-rustc">https://github.com/rust-lang/cargo-bisect-rustc</a>
|
|
</section>
|
|
<section>
|
|
<h2 style="display: flex; justify-content: center; align-items: center;">minimization <img src="E-needs-mcve.png" height="60"></h2>
|
|
<img src="triage-min-issue.png">
|
|
</section>
|
|
<section>
|
|
<h2>minimization</h2>
|
|
<p>I minimized that issue to 60 lines in 2 hours</p>
|
|
<a href="https://github.com/Nilstrieb/ice-104649">https://github.com/Nilstrieb/ice-104649</a>
|
|
<a href="http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/">http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/</a>
|
|
<br>
|
|
<a href="https://github.com/Nilstrieb/cargo-minimize">https://github.com/Nilstrieb/cargo-minimize</a>
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
## existing unstable features
|
|
|
|
high value, very needed
|
|
|
|
- stabilize
|
|
- close
|
|
</textarea>
|
|
</section>
|
|
<section>
|
|
<h2 style="display: flex; justify-content: center; align-items: center;">tracking issues<img src="C-tracking-issue.png" height="60"></h2>
|
|
<p>tracking the state of a feature</p>
|
|
<p>719 issues (2023-01-03)</p>
|
|
<p>new issues aren't ready yet</p>
|
|
<p>really old issues often have problems</p>
|
|
<p>go to golden middle :)</p>
|
|
</section>
|
|
<section>
|
|
<h2>summarize,</h2>
|
|
<p>aggregate <b>open</b> questions</p>
|
|
<p>aggregate <b>resolved</b> questions</p>
|
|
<p>propose next steps</p>
|
|
</section>
|
|
<section>
|
|
<h2>stabilize...</h2>
|
|
<img src="stabilize-report.png">
|
|
</section>
|
|
<section>
|
|
<h2>...or close</h2>
|
|
</section>
|
|
<section>
|
|
<h2>final comment periods</h2>
|
|
<img src="stabilize-fcp.png">
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
# writing code
|
|
</textarea>
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
## official tooling
|
|
|
|
always in need of help!
|
|
|
|
- rustfmt
|
|
- rustup
|
|
- clippy
|
|
</textarea>
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
## standard library
|
|
|
|
limited review bandwidth!
|
|
|
|
- performance improvements
|
|
- bug fixes
|
|
</textarea>
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
## compiler contributions
|
|
|
|
- diagnostics are a great starting point
|
|
- internal compiler error fixes
|
|
</textarea>
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
## reviews
|
|
|
|
- leave review comments on random PRs
|
|
</textarea>
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
# to remember
|
|
</textarea>
|
|
</section>
|
|
<section data-markdown>
|
|
<textarea data-template>
|
|
## review times
|
|
|
|
- volunteers
|
|
- up to ~2 weeks
|
|
- ping if it takes longer
|
|
</textarea>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="dist/reveal.js"></script>
|
|
<script src="plugin/notes/notes.js"></script>
|
|
<script src="plugin/markdown/markdown.js"></script>
|
|
<script src="plugin/highlight/highlight.js"></script>
|
|
<script>
|
|
// More info about initialization & config:
|
|
// - https://revealjs.com/initialization/
|
|
// - https://revealjs.com/config/
|
|
Reveal.initialize({
|
|
hash: true,
|
|
|
|
// Learn about plugins: https://revealjs.com/plugins/
|
|
plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|