Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce a release issue template #5826

Merged
merged 11 commits into from
May 7, 2021
Merged

Introduce a release issue template #5826

merged 11 commits into from
May 7, 2021

Conversation

arajasek
Copy link
Contributor

@arajasek arajasek commented Mar 17, 2021

Lots of TODOs to flesh out.

resolves #5815

RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
bin/mkreleaselog Outdated Show resolved Hide resolved
RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
@arajasek
Copy link
Contributor Author

@placer14 flags that we should add upgrading versions here to the checklist.

RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
@arajasek arajasek marked this pull request as ready for review March 25, 2021 04:25
- [ ] Cut the release on Github.
- [ ] Final announcements
- [ ] Update network.filecoin.io
- [ ] TODO: What / where else?
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

- [ ] **Stage 3 - Community Prod Testing**
- [ ] Documentation
- [ ] Ensure that [CHANGELOG.md](https://github.com/filecoin-project/lotus/blob/master/CHANGELOG.md) is up to date
- [ ] TODO: Other docs checks?
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jennijuju any ideas for elaboration here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is interesting. Is it possible that folks are adding new functionality but in the PR not adding the relevant doc updates? If so, is it a manual audit to go through commits looking for this? That seems rough.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. new cli or change of cli
  2. new field added to the lotus or lotus miner config.toml or any change of behavior
  3. update the api docs (when we have a proper one)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@BigLep So this is tricky. Several thoughts:

  • Yes, PRs often land without necessary docs updates.
  • Most documentation lives outside of the Lotus repo.
  • We haven't really established a workflow for doc updates -- it's somewhat haphazard right now.

- [ ] Subset of development full archival nodes
- [ ]Subset of bootstrappers (1 per region)
- Report on new block validation time
- TODO: What other stats would we care about?
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@magik6k @Stebalien thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Memory/CPU use are worth following

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we link to the dashoard we're going to look at?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Number of goroutines. IPLD block read latency. Bandwidth usage (by protocol, ideally).

@@ -0,0 +1,233 @@
#!/bin/zsh
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just a copy of the IPFS script, needs to be modified

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this script is for pulling out the contributor list? Do we maybe put it in its own file?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For pulling out the contributor list and auto-generating the changelog (I think it just sniffs for "Merge pull request" commits).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean put the contributor list in its own file? I was thinking we'd include them in release notes and the Lotus CHANGELOG, but I'm easy. That's just what IPFS does.


Would you like to contribute to Lotus and don't know how? Well, there are a few places you can get started:

- TODO
Copy link
Contributor Author

@arajasek arajasek Mar 25, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will write this and the next one when i'm not lazy...or merge as is and complete later

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

- [ ] Inform MinerX / early testers
- [ ] Ask close ecosystem partners to test their projects with the upgrade
- [ ] Powergate
- TODO: List of partners
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have asked for suggestions, can be completed later

Copy link
Member

@BigLep BigLep left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for putting this together @arajasek !

I like the opennes in GitHub. Potential things I don't think it captures though are:

  1. Who is the owner for a certain step.
  2. What are the expected dates for a certain operation.
  3. Binary checkboxes don't capture if something is in-progress or blocked.
  4. How easy will it be for posting in graphs or other comments while executing the release process?
    I'm game for whatever, but a Notion public document is another option.

Other comments:

  1. It seems like this is focused on a new minor version. Where will we capture if there's a new major or patch version?
  2. I'm not saying it belongs in this document, but I assume we need to also capture our branching strategy and how Lotus versions relate to network versions.

documentation/misc/RELEASE_ISSUE_TEMPLATE.md Show resolved Hide resolved
documentation/misc/RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
documentation/misc/RELEASE_ISSUE_TEMPLATE.md Show resolved Hide resolved
documentation/misc/RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
documentation/misc/RELEASE_ISSUE_TEMPLATE.md Show resolved Hide resolved
- [ ] **Stage 3 - Community Prod Testing**
- [ ] Documentation
- [ ] Ensure that [CHANGELOG.md](https://github.com/filecoin-project/lotus/blob/master/CHANGELOG.md) is up to date
- [ ] TODO: Other docs checks?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is interesting. Is it possible that folks are adding new functionality but in the PR not adding the relevant doc updates? If so, is it a manual audit to go through commits looking for this? That seems rough.

documentation/misc/RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved

- [ ] **Post-Release**
- [ ] Merge the `releases` branch back into `master`, ignoring the changes to `version.go` (keep the `-dev` version from master).
- [ ] Create an issue using this release issue template for the _next_ release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can prepopulate this URL as well.

- [ ] Merge the `releases` branch back into `master`, ignoring the changes to `version.go` (keep the `-dev` version from master).
- [ ] Create an issue using this release issue template for the _next_ release.

## ❤️ Contributors
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the point of this section to pull out who contributed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, example from IPFS
Screen Shot 2021-04-08 at 12 59 32 AM

@@ -0,0 +1,233 @@
#!/bin/zsh
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this script is for pulling out the contributor list? Do we maybe put it in its own file?

documentation/misc/RELEASE_ISSUE_TEMPLATE.md Show resolved Hide resolved
documentation/misc/RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
- [ ] **Stage 0 - Automated Testing**
- Automated Testing
- [ ] CI: Ensure that all tests are passing.
- [ ] Testground tests
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They do. @coryschwartz what's the status on getting the testground test results back into lotus?

- [ ] Subset of development full archival nodes
- [ ]Subset of bootstrappers (1 per region)
- Report on new block validation time
- TODO: What other stats would we care about?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Number of goroutines. IPLD block read latency. Bandwidth usage (by protocol, ideally).

@BigLep BigLep linked an issue Apr 5, 2021 that may be closed by this pull request
3 tasks
- [ ] (ideally) let a sector go faulty, and see it be recovered

- [ ] **Stage 2 - Community Dev Testing**
- [ ] Inform MinerX / early testers
Copy link
Member

@jennijuju jennijuju Apr 6, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [ ] Inform MinerX / early testers
- early miner testers (@lotus-early-testers-miner in Filecoin Slack #fil-lotus)

Comment on lines 66 to 68
- [ ] Ask close ecosystem partners to test their projects with the upgrade
- [ ] Powergate
- TODO: List of partners
Copy link
Member

@jennijuju jennijuju Apr 6, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [ ] Ask close ecosystem partners to test their projects with the upgrade
- [ ] Powergate
- TODO: List of partners
- [ ] Ask close ecosystem partners to test their projects with the upgrade (@lotus-early-testers-eco-dev in Filecoin slack #fil-lotus)

documentation/misc/RELEASE_ISSUE_TEMPLATE.md Show resolved Hide resolved
documentation/misc/RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
- [ ] **Stage 3 - Community Prod Testing**
- [ ] Documentation
- [ ] Ensure that [CHANGELOG.md](https://github.com/filecoin-project/lotus/blob/master/CHANGELOG.md) is up to date
- [ ] TODO: Other docs checks?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. new cli or change of cli
  2. new field added to the lotus or lotus miner config.toml or any change of behavior
  3. update the api docs (when we have a proper one)

documentation/misc/RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved
documentation/misc/RELEASE_ISSUE_TEMPLATE.md Outdated Show resolved Hide resolved

## ⁉️ Do you have questions?

TODO
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leave a comment [here](link to release discussion) if you have any questions.

@arajasek
Copy link
Contributor Author

arajasek commented Apr 8, 2021

Acknowledged most of the second wave of feedback, thanks @jennijuju, @Stebalien, and @BigLep!

This time it was harder to immediately incorporate everything, though. I've added a next steps / unanswered questions write-up here, but I would like to land this PR and start using it sooner rather than later -- I don't want perfect to be the enemy of good here. I'm sure there's lots of tweaking that'll happen as we iterate.

Copy link
Member

@jennijuju jennijuju left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree that it looks good enough for us to start using and testing it, and we can make it better later.

@arajasek
Copy link
Contributor Author

So one thing that's missing from this checklist is the point when all infra gets updated to the new release. @magik6k flags it'd be good to keep a subset of mainnet infra one release behind, but ideally those partitions (latest release, one release behind) will be well defined and easily understood.

@ognots @travisperson @coryschwartz thoughts?

@arajasek
Copy link
Contributor Author

@magik6k plz update the script to be for Lotus

This patch supports branch-based v2 modules, but not
directory-based (i.e., not vN modules with `vN/` directories).
@arajasek
Copy link
Contributor Author

arajasek commented May 7, 2021

Landing for now, further improvements welcome

@arajasek arajasek merged commit e558711 into master May 7, 2021
@arajasek arajasek deleted the asr/release-template branch May 7, 2021 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Flesh out the Lotus release process
9 participants