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

docs(release): add support Tiers and supported platforms per Tier #4773

Merged
merged 27 commits into from
Jul 22, 2022

Conversation

gustavovalverde
Copy link
Member

@gustavovalverde gustavovalverde commented Jul 12, 2022

Motivation

As we get near to our Release Candidate, we should decide on which platforms we're going to support and the level of support and guarantees we'd like to ensure for each.

We've deploying with Debian in Docker and build with Ubuntu and MacOS in our CI, but we haven't defined an strategy around these platforms or how we're going to guarantee support, if any.

Fixes #4448

Solution

  • Create a document including Tiers and the guarantees each "must" and "should" ensure for users and internally
  • Create a document with the Supported Platforms (based from our actual build and test scenarios) linked to the respective Tier

This documents are based on Rust's approach with Tiers and Supported platforms https://github.com/rust-lang/rust/tree/master/src/doc/rustc/src

Review

Most people from @ZcashFoundation/zebra-team should have a look at this

Reviewer Checklist

  • Verify correct wording is being used
  • Teams and developer amounts relate to our reality
  • Platforms and specific libraries relate to our reality
  • Should we add information on why we dropped windows support?

Follow Up Work

  • Add a resume to README.md targeting supported-platforms.md and target-tier-policies.md
  • Create a PR including the release process based on these supported platforms

This documentation is based on Rust supported platforms and tiers, and adapted to Zebra
@gustavovalverde gustavovalverde added A-docs Area: Documentation C-design Category: Software design work C-enhancement Category: This is an improvement P-Medium ⚡ I-usability Zebra is hard to understand or use labels Jul 12, 2022
@gustavovalverde gustavovalverde self-assigned this Jul 12, 2022
Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

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

This looks like a good start!

The target tier policy has a lot of rules that apply to the Rust compiler, but not Zebra. I'd suggest deleting those rules first, before making any other changes.

Zebra's project structure and processes are also different, so we'll need to update the remaining rules to match what we actually do. I added a comment the first time I saw each difference.

Since we copied these docs from the Rust project, can we credit them at the end of the doc?

book/src/user/supported-platforms.md Outdated Show resolved Hide resolved
book/src/user/target-tier-policies.md Outdated Show resolved Hide resolved
book/src/user/target-tier-policies.md Outdated Show resolved Hide resolved
book/src/user/target-tier-policies.md Outdated Show resolved Hide resolved
book/src/user/target-tier-policies.md Outdated Show resolved Hide resolved
book/src/user/target-tier-policies.md Outdated Show resolved Hide resolved
book/src/user/target-tier-policies.md Outdated Show resolved Hide resolved
book/src/user/target-tier-policies.md Outdated Show resolved Hide resolved
book/src/user/supported-platforms.md Outdated Show resolved Hide resolved
book/src/user/supported-platforms.md Outdated Show resolved Hide resolved
@str4d
Copy link
Contributor

str4d commented Jul 13, 2022

We also recently set up platform support policies for zcashd based on the Rust ones, which you might find useful to look at for how we adapted them:

@teor2345
Copy link
Contributor

Thanks for the fixes, let me know when you want me to review this PR again.

@gustavovalverde gustavovalverde marked this pull request as ready for review July 15, 2022 16:14
@gustavovalverde gustavovalverde requested a review from a team as a code owner July 15, 2022 16:14
@gustavovalverde gustavovalverde requested review from teor2345 and removed request for a team July 15, 2022 16:14
@gustavovalverde
Copy link
Member Author

@ZcashFoundation/general-rust-reviewers this is ready for general review.

@str4d thank you for sharing zcashd policies, it helped me improving the actual wording in some pieces.

Copy link
Collaborator

@conradoplg conradoplg left a comment

Choose a reason for hiding this comment

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

Looks great!

I don't think we need to add an explanation about Windows, it's documented in tickets if someone wants to dig for information.

I won't approve for now so that others can take a look

Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

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

Looks good, thanks for all the updates!

I'll finish reviewing the detailed policy tomorrow.

book/src/user/target-tier-policies.md Outdated Show resolved Hide resolved
book/src/user/supported-platforms.md Outdated Show resolved Hide resolved
book/src/user/supported-platforms.md Outdated Show resolved Hide resolved
book/src/user/target-tier-policies.md Show resolved Hide resolved
book/src/user/target-tier-policies.md Outdated Show resolved Hide resolved
Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

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

I finished my detailed review. It looks really good, I think it's pretty clear about what we want.

I noticed some Rust compiler-specific language, and some unclear or incorrect details.

My suggestions to fix them are in PR #4791.

Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

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

Thank you for all your work tracking down these details.

I made a bunch of final suggestions to resolve all outstanding comments.
Feel free to accept or reject them, I think we're getting to the final details now.

gustavovalverde and others added 4 commits July 20, 2022 10:52
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: teor <teor@riseup.net>
Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

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

Looks great, thanks!

Did you want to open a ticket to update the README and book indexes, or add it to the list of tasks in the release process ticket?

Things have changed a lot since our original release process draft. So the ticket and draft might be too complicated - we might want to delete the outdated parts before we start.

@gustavovalverde
Copy link
Member Author

Did you want to open a ticket to update the README and book indexes, or add it to the list of tasks in the release process ticket?

Added it to the list of tasks in the release process ticket.

@gustavovalverde gustavovalverde merged commit 4257f60 into main Jul 22, 2022
@gustavovalverde gustavovalverde deleted the doc-release-rfc branch July 22, 2022 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-docs Area: Documentation C-design Category: Software design work C-enhancement Category: This is an improvement I-usability Zebra is hard to understand or use
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Decide on supported platforms and test in CI
4 participants