Skip to content
This repository has been archived by the owner on Feb 8, 2023. It is now read-only.

[Generating Roadmaps] Evaluating the labels-and-milestones approach #257

Closed
flyingzumwalt opened this issue Nov 15, 2016 · 4 comments
Closed
Labels
topic/tools Topic tools

Comments

@flyingzumwalt
Copy link
Contributor

The Need

We want a graceful way to

  • Construct Roadmaps that list Milestones with Estimated Dates of Delivery and associated Github Issues
  • Commit Quarterly Roadmaps in a way that lets us evaluate at the end of the Quarter
  • Track the progress of Milestones as time passes
  • easily refer back-and-forth between waffle boards (or equivalent) and Roadmaps

If our projects only spanned one repository or if Github Milestones were multi-repo, we would use Github Milestones to represent our milestones and generate our roadmaps using haadcode/roadmap-generator.

The Complicating Factors

  1. Projects like js-ipfs and go-ipfs span many repositories.
  2. Github milestones are single-repository -- they can only contain issues from one repository
  3. If we could make multi-repo Milestones we would use those to track our work and generate ROADMAP.md files from the Milestones

The Solution we're Testing

  1. Sync Milestones across a project's repositories using haadcode/labels-as-milestones
  2. Use haadcode/roadmap-generator to generate Roadmap.md files from those milestones (matching by milestone title)
  3. Commit those ROADMAP.md files

(bonus) We can tweak the roadmap generator to include links into the waffle board that let you view the board filtered per-milestone. For example: All Issues related to the go-ipfs 0.4.5 milestone

(bonus) We could use the same config files to generate Captain's Logs like ipld/specs#13, which was the intention of https://github.com/nicola/captain-log

Open Questions

  1. Where should the project-specific config files for labels-and-milestones be stored?
  2. Where should the project-specific config files for roadmap-generator be stored?
  3. How and when should these scripts be run (presumably by CI, but what should trigger re-running?)

Notes

Currently the best list of relevant repositories for each project is in the "sources" list of the project's waffle board. See js-ipfs and go-ipfs

@flyingzumwalt
Copy link
Contributor Author

Here's what I had to do to set this up for go-ipfs:

Likewise for js-ipfs:

I'm not convinced that we want to store these config files within each project. I just set it up to imitate what @haadcode did in https://github.com/haadcode/orbit/tree/master/tools/roadmap-generator.

Also it seems odd to make one-off package.json files and README.md files like these, but at this point I just wanted to make everything consistent with https://github.com/haadcode/orbit/tree/master/tools/roadmap-generator and wanted to make sure it's all documented so people can use it while I'm on vacation.

@daviddias
Copy link
Member

Feature request: When a milestone is "done" it would be awesome to be able to "close all of those milestones across repos. Right now it has to be manual

@flyingzumwalt
Copy link
Contributor Author

@diasdavid to close a milestone across all the projects you just need to set the status to "closed" on that milestone and re-run the sync tool. Example here: https://github.com/ipfs/js-ipfs/pull/595/files#diff-bf8248917bae166dcc53714cf525dddcR31

@daviddias
Copy link
Member

@flyingzumwalt good to drop this one?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
topic/tools Topic tools
Projects
None yet
Development

No branches or pull requests

2 participants