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

Releases are triggered by code review #2025

Open
BigLep opened this issue Jul 11, 2024 · 6 comments
Open

Releases are triggered by code review #2025

BigLep opened this issue Jul 11, 2024 · 6 comments

Comments

@BigLep
Copy link
Member

BigLep commented Jul 11, 2024

Done Criteria

  1. The to-be-created release steps outlined in Create updated release process #2018 can be followed without requiring manual clicking in the GitHub UI. Instead, releases should occur as a result of an approved PR.

Why Important

  1. Less time used by maintainers
  2. Not bottleneck on certain folks to publish
  3. Less error prone

User/Customer

Maintainers

Notes

  1. This is more of a standard Rust repo and should be published to crates.io
  2. There are multiple branches with different versions that we would want handled
@BigLep BigLep added this to FilOz Jul 11, 2024
@BigLep BigLep moved this to ⌨️In Progress in FilOz Jul 23, 2024
@BigLep
Copy link
Member Author

BigLep commented Jul 23, 2024

For visibility, the aspect of creating tags and GitHub releases based off a PR is happening in #2027 . That PR doesn't handle artifact publishing.

@rjan90
Copy link
Contributor

rjan90 commented Aug 21, 2024

Closing this ticket because, without crate publishing, the automated workflow was not sufficient to move forward. See the comment here for details.

We have documented the manual steps and the manual release process steps here: Manual Release Process

@rjan90 rjan90 closed this as completed Aug 21, 2024
@rjan90 rjan90 moved this from ⌨️In Progress to 🎉 Done in FilOz Aug 21, 2024
@BigLep
Copy link
Member Author

BigLep commented Aug 22, 2024

@rjan90 : feel free to disagree, but I think we should still keep this open since we still want to get to a world where the whole release flow is automated and doesn't require manual steps. Since we haven't reached that goal yet, I think this is still open. (I'll reopen for now because of this, but go ahead and close if you disagree.)

@BigLep BigLep reopened this Aug 22, 2024
@rjan90 rjan90 moved this from 🎉 Done to 🐱Todo in FilOz Aug 22, 2024
@BigLep
Copy link
Member Author

BigLep commented Oct 21, 2024

Proposed IPDX SoW that we've been discussing (thanks @galargh):

PR CI workflow:

  • find all the crates that need to be published
  • publish each crate individually to a “local” registry* in reverse dependency order
  • create a draft GitHub release for each crate to be published

Merge CI workflow:

  • find all the crates that need to be published
  • check if a draft GitHub release exists for each crate to be published
  • publish each create individually to crates.io
  • publish the GitHub release for each successfully released crate
  • there’s no cargo local registry; a workaround using vendored directories or fake registries and replace directives will have to be developed as a prerequisite

Complexity: creating “local” cargo registry, testing

@Stebalien : does this seem right to you?

@Stebalien
Copy link
Member

there’s no cargo local registry; a workaround using vendored directories or fake registries and replace directives will have to be developed as a prerequisite

Is this a general comment or part of the "merge CI workflow"? In general, I think a vendored directory is the simplest approach:

  • Replace directives (patches) don't work, I tried every which way.
  • A local registry is the "correct" way, but I couldn't find an easy-to-use one (they all want to integrate with authentication, etc.). But someone else may have better luck here.

@Stebalien
Copy link
Member

But generally, yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🐱 Todo
Development

No branches or pull requests

3 participants