Servo Infrastructure
PDX Python
2017-05-25
- What's Rust, what's Servo?
- Life cycle of a Servo change
- The Python Code
- How you can help
- Q&A Throughout
- Safe, concurrent, fast
- Systems programming, fewer footguns
- Hack Without Fear
- github.com/rust-lang/rust
- 27 @mozilla.com contributors
- 1528 non-mozilla.com contributors
- 2% of contributors, 15% of commits are @mozilla.com
"The Rust community seems to be populated entirely by human beings. I have no
idea how this was done."
"The Rust community gives me a particularly bad feeling. They're rather
tyrannical about enforcing their code of conduct. They even have a moderation
attack squad to go after anyone they deem to be an enemy!"
- Weekly updates (This Week In Rust, etc)
- Mandatory RFCs for major changes
- Consistent PR review process
- Distributed team & public discussions
- ~12 full-time engineers
- ~612 code contributors
- ~21k commits into servo/servo
- ~4% of contributors, ~25% of commits from @mozilla.com
- Put robots to work
- Rent others' expertise
- Value volunteers
- Leverage free stuff
https://github.com/servo/servo/wiki/Videos-and-presentations
https://github.com/servo/servo/wiki/Design
- What's Rust?
- What's Servo?
- Highfive
- Homu (Bors)
- Mach
- Buildbot
- Your own Jenkins/Buildbot/in-house CI
- Paid options like CircleCI
- Appveyor for Windows
- GitLab pipelines
- OpenStack's Zuul (more complex, fancier features)
- Roll your own
- Highfive greets the contributor
- Travis tests all the things
- Servo person reviews the change
- Homu (@bors-servo) lands the change upon r+
- Buildbot builds things
- Rust Highfive != Servo Highfive :(
- Small codebase, good practices
- Python 2.7
- Use the servo/homu fork
- Testing story is... scary bad
- Accidental home-grown state machine
- Regex!
- Sqlite!
- All python3!
- Highfive
- Homu
- BuildBot
- Mach
- SaltStack