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

Release with Kubo 0.18.1 + ensure we aim to ship future Kubo releases within 1 week #2407

Closed
Tracked by #111
lidel opened this issue Feb 6, 2023 · 12 comments
Closed
Tracked by #111
Assignees
Labels
exp/novice Someone with a little familiarity can pick up kind/maintenance Work required to avoid breaking changes or harm to project's status quo need/maintainers-input Needs input from the current maintainer(s) P0 Critical: Tackled by core team ASAP

Comments

@lidel
Copy link
Member

lidel commented Feb 6, 2023

#2396 was merged a week ago, but not released yet.

Ref. https://github.com/ipfs/kubo/blob/master/docs/changelogs/v0.18.md#v0181

@lidel lidel added P0 Critical: Tackled by core team ASAP need/triage Needs initial labeling and prioritization kind/maintenance Work required to avoid breaking changes or harm to project's status quo labels Feb 6, 2023
@github-project-automation github-project-automation bot moved this to Needs Grooming in IPFS-GUI (PL EngRes) Feb 6, 2023
@lidel lidel moved this from Needs Grooming to Prioritized / Ready for Dev in IPFS-GUI (PL EngRes) Feb 6, 2023
@lidel
Copy link
Member Author

lidel commented Feb 6, 2023

@galargh @BigLep @SgtPooki any thoughts how we can ensure Kubo is shipped with ipfs-desktop within more sane cadence, eg. 1 week window? Desktop users being stuck on old version is not the best:

We need to agree on some convention/process to avoid this pattern.
Either

  • (A) GUI Team is adding release GO/no-go to their weekly triage, OR..
  • (B) ..if GUI team has no bandwidth, perhaps this should it be part of Kubo release dance checklist?

Either works, as long we don't forget shipping updates in the future.

@lidel lidel changed the title Release with Kubo 0.18.1 Release with Kubo 0.18.1 + ensure we ship within 1 week Feb 6, 2023
@lidel lidel changed the title Release with Kubo 0.18.1 + ensure we ship within 1 week Release with Kubo 0.18.1 + ensure we aim to ship future Kubo releases within 1 week Feb 6, 2023
@whizzzkid
Copy link
Contributor

@lidel will it be worth exploring a unified pipeline for releasing kubo, webui, desktop? I can help create something like that.

@whizzzkid whizzzkid added need/maintainers-input Needs input from the current maintainer(s) and removed need/triage Needs initial labeling and prioritization labels Feb 7, 2023
@galargh
Copy link
Contributor

galargh commented Feb 7, 2023

Before jumping to action, I'd like to understand the root of the problem.

Past Releases

  1. Who's performing ipfs-desktop releases right now? Is it IPFS GUI team?
  2. Why hasn't it happened in case of past releases?
  3. Is Kubo dependency update PR a good enough prompt for release?

Release Process

  1. Are https://github.com/ipfs/ipfs-desktop/blob/main/DEVELOPER-NOTES.md up to date?
    https://github.com/ipfs/ipfs-desktop/blob/main/DEVELOPER-NOTES.md#manual-testing looks especially burdensome. I'm not too familiar with desktop application testing automation space. Have we ever looked into it?
  2. After that, https://github.com/ipfs/ipfs-desktop/blob/main/DEVELOPER-NOTES.md#main-release-process looks pretty standard. I don't see anything https://github.com/ipfs/kuboreleaser isn't already doing so we might be able to easily piggyback off of it. Were there previous efforts to automate this part of the release process?
  3. How often is https://github.com/ipfs/ipfs-desktop/blob/main/DEVELOPER-NOTES.md#manually-notarize-dmg-with-apple required?

Kubo

  1. Are Kubo maintainers best suited to resolve issues that might arise during ipfs-desktop release?

My initial thoughts: I'm afraid of integrating ipfs-desktop release process directly into Kubo release process. The latter is already quite complicated. I think that by adding such a sizeable step to it, we'd make ourselves more likely to put off Kubo releases. Personally, I wouldn't do, at the very least, as long as it involves this lengthy manual testing section. Instead, I think we should concentrate on better integration of the two. Making sure that Kubo release initiates ipfs-desktop release process properly.

@SgtPooki SgtPooki self-assigned this Feb 9, 2023
@SgtPooki
Copy link
Member

  1. Who's performing ipfs-desktop releases right now? Is it IPFS GUI team?

ipfs-gui team currently yes

  1. Why hasn't it happened in case of past releases?

competing priorities and a lack of awareness of changes that need deployed.

  1. Is Kubo dependency update PR a good enough prompt for release?

I personally don't think so.

Release Process

  1. Are https://github.com/ipfs/ipfs-desktop/blob/main/DEVELOPER-NOTES.md up to date?

Mostly, yes, but I think the ordering should be fixed.

https://github.com/ipfs/ipfs-desktop/blob/main/DEVELOPER-NOTES.md#manual-testing looks especially burdensome. I'm not too familiar with desktop application testing automation space. Have we ever looked into it?

We do have e2e tests, but the manual tests covered there are not in the e2e tests.

  1. After that, https://github.com/ipfs/ipfs-desktop/blob/main/DEVELOPER-NOTES.md#main-release-process looks pretty standard. I don't see anything https://github.com/ipfs/kuboreleaser isn't already doing so we might be able to easily piggyback off of it. Were there previous efforts to automate this part of the release process?
  2. How often is https://github.com/ipfs/ipfs-desktop/blob/main/DEVELOPER-NOTES.md#manually-notarize-dmg-with-apple required?

Kubo

  1. Are Kubo maintainers best suited to resolve issues that might arise during ipfs-desktop release?

issues arising during release are non-existent lately, but if an issue were to arise, I don't think kubo maintainers are the right people there.

My initial thoughts: I'm afraid of integrating ipfs-desktop release process directly into Kubo release process. The latter is already quite complicated. I think that by adding such a sizeable step to it, we'd make ourselves more likely to put off Kubo releases. Personally, I wouldn't do, at the very least, as long as it involves this lengthy manual testing section. Instead, I think we should concentrate on better integration of the two. Making sure that Kubo release initiates ipfs-desktop release process properly.

I agree with this. I would really love to see a dependency aware automated release pipeline for all things on dist.ipfs.tech, but for this particular issue, automating desktop releases would go a long way to addressing this particular issue

@SgtPooki
Copy link
Member

released newest ipfs-desktop: https://github.com/ipfs/ipfs-desktop/releases/tag/v0.26.1

@BigLep
Copy link

BigLep commented Feb 10, 2023

Agreed on not integrating ipfs-desktop release with Kubo release process.

If we take a week SLA as the lag between Kubo and desktop, can Ignite meet that? What will the team's mechanism be for meeting this? Automating the ipfs-desktop release would be awesome, but I don't know how possible that is. Another option would be to make a call to the community. We could get a couple of people signed up who smoke test the release (following a checklist I provide). If a couple of them run through the checklist and sign off, we let the PR be merge and desktop release to happen.

@SgtPooki
Copy link
Member

We could do a week, but we need some kind of consistent notification/hook. For example, if go-ipfs is being updated by the kubo team, then it should be merged by whoever is going to handle the ipfs-desktop release. Doing the go-ipfs merge and then an immediate ipfs-desktop release seems like a reasonable mechanism

@SgtPooki SgtPooki removed their assignment Feb 21, 2023
@SgtPooki SgtPooki added the exp/novice Someone with a little familiarity can pick up label Feb 21, 2023
@BigLep
Copy link

BigLep commented Feb 22, 2023

If there are changes you want made in the Kubo release process for you are notified, go ahead and leave a comment in ipfs/kubo#9484

@BigLep
Copy link

BigLep commented Feb 22, 2023

There is also this file you can add to be notified of Kubo releases: https://github.com/ipfs/kubo/blob/master/docs/EARLY_TESTERS.md

@SgtPooki
Copy link
Member

SgtPooki commented Mar 3, 2023

@lidel are you good with the edits to the kubo release notes(ipfs/kubo#9484 (comment))?

That should be enough to get us on the hook for doing an immediate release after ipfs-desktop PR is opened and tags us.

I'm open to more feedback/recommendations.

@galargh
Copy link
Contributor

galargh commented Mar 4, 2023

@lidel are you good with the edits to the kubo release notes(ipfs/kubo#9484 (comment))?

That should be enough to get us on the hook for doing an immediate release after ipfs-desktop PR is opened and tags us.

I'm open to more feedback/recommendations.

Can we add CODEOWNERS file in this repo with auto reviewer assignment? In other words, should all the PRs that appear in this repo be reviewed by ipfs-gui-team?

SgtPooki added a commit that referenced this issue Mar 13, 2023
explicitly add myself and Nishant so we are flagged appropriately.

see #2407 (comment)
@SgtPooki
Copy link
Member

@galargh just updated CODEOWNERS to add nishant and myself explicitly: 11e35c0

@github-project-automation github-project-automation bot moved this from 🤔 Triage to 🥳 Done in InterPlanetary Developer Experience Mar 13, 2023
@github-project-automation github-project-automation bot moved this from Prioritized / Ready for Dev to Done in IPFS-GUI (PL EngRes) Mar 13, 2023
@SgtPooki SgtPooki self-assigned this Mar 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exp/novice Someone with a little familiarity can pick up kind/maintenance Work required to avoid breaking changes or harm to project's status quo need/maintainers-input Needs input from the current maintainer(s) P0 Critical: Tackled by core team ASAP
Projects
No open projects
Status: Done
Development

No branches or pull requests

5 participants