It’s time for the weekly
News and Such
I missed last week’s roundup - sorry! Usually, that would be a signal of things slowing down. Quite the opposite is true, though - it feels like the week-over-week number of issues and pull requests doubled! To help share the load, we’re starting to apportion maintainership responsibility for different parts of the project.
As with everything else we do in
dep, the maintainership model is an experiment - we don’t necessarily have the clearest way of drawing lines around who owns which code on a line-by-line basis. But we think that should be OK as long as the group remains fairly small. And, we can use the experience to bootstrap a more precise model. @carolynvs is the first person we’ve asked to step up as a maintainer, specifically around
dep init. (Thanks so much, Carolyn!) If you’re a contributor and feel you might be able to shoulder such a responsibility, please reach out to me so we can talk about it!
Unfortunately, we’re a bit behind on the current primary goal, stabilizing Gopkg.toml and Gopkg.lock. I’m hoping we can wrap that up by the end of this week, at which point I plan to actually tag a (pre)release of dep.
After we hit that milestone, I’m going to need to reduce my own time investments in
dep, as they’ve grown beyond what I can healthily manage. I may cut some non-essential activities out, but I’ll still be present, and still be writing these updates - just, with lowered velocity. Now’s a great time for folks to step up to help with the organizing and general forward-pushing of the project :D Simply reviewing PRs, to the best of your ability, is super-welcome and helpful!
In general, the project is moving along well and at high speed, and we’re adding contributors rapidly. So much so that I’m having trouble keeping up the help-wanted and good-first-pr labels, and we’re having multiple people submit PRs for the same issue! Ideally, I’d like to avoid such situations; unfortunately, issue assignability is restricted by project membership, so we have to use other means. If contributors could:
- Explicitly claim issues, and provide a timeframe in which they expect to work on it
- Make sure to back-link to the issue in the opened PR (usually with “Fixes #
- Avoid working on issues that someone else has claimed within the the timeframe they gave
Then hopefully we can avoid tripping over each other!
Community Attention Needed!
Just two this week, to keep laser-focused on the stabilization goal:
- Once we merge the update to our semver lib, we’ll need someone to fire out the conversion to implicit caret constraint behavior. It shouldn’t be technically difficult, but it’ll need care.
- I could use a sanity check on my PR for splitting out information in
Gopkg.lockrelated to input verification.
Of course, the help-wanted label always has a bigger list! 😊
Stuff We’ve 🚢ed
There have been some 30-40 PRs merged since the last dep status, so there’s no way I can possibly highlight everything!
- gps has been moved to an
internaldirectory. This is a temporary measure, until we have a concrete plan about releases, how and when we want to expose packages, etc. In the meantime, other systems will probably have to rely on
- A fairly common case, originally raised by Francesc Campoy, is using
depfrom the root of GOPATH, i.e.,
$GOPATH/src. We intentionally don’t currently support this (for reasons given in that PR), but were panicking when it was attempted. @ibrasho helped us out by replacing the panic with a clear error message.
- To make
dep initless surprising for experimenters, we now back up any existing non-empty
vendor/directory that we find. Thanks, @darkowlzz!
- @darkowlzz also helped us out with warnings on unrecognized fields in
- All of our harness tests now test logic both internally and via the CLI in a compiled subprocess, thanks to some awesome refactoring by jmank88. This entailed getting rid of a lot of nasty globals in the codebase - significant code smell reduction!
- @sectioneight helped bring our static code analyzer more in line with the rules used by the Go compiler by ensuring dot-led directories are included in analysis.
There’s also a bunch of ready-but-unmerged PRs related to manifest and lock stabilization. Those are all going to land at once, so that we have a complete and atomic cutover to the stabilized versions of
Finally, I had fun writing this plea for some visual design for
dep. Maybe you’ll enjoy reading it, too 😂