Commit Graph

46 Commits

Author SHA1 Message Date
teor 11baba56cb
Release Zebra 1.0.0-rc.3 (#5928)
* Changelog with trivial entries

* Delete trivial entries

* Summarise known issues in README, but don't change the list yet

* Add block timeouts to known issues

* Update the release template to add missing version files

* Bump crate versions

* Add the required Rust version to the release checklist

* Update the Rust version requirement to 1.65, Zebra now uses `let ... else ...`

* Update checkpoints

* Add checkpoints to the CHANGELOG

* Breaking Rust compiler version change

* Clarify the latest stable supported rust version
2023-01-10 03:48:03 +00:00
Deirdre Connolly 6ade4354be
docs(release): update GitHub release promoting language (#5810) 2022-12-08 01:35:18 +00:00
teor 54d2b74378
change(doc): Update release, ticket, and PR templates (#5793)
* Update release-checklist.md

* Add complex code or requirements to the PR template

* Add complex code and testing sections to the ticket template

Remove the design section, because we're not using it

* Merge freeze and merge PRs
2022-12-07 22:38:41 +00:00
teor 9b0de0aa19
Exclude zebra-dependencies-for-audit.md from release version updates (#5786) 2022-12-05 18:50:37 +00:00
teor 26d0455d02
fix(doc): Use a more reliable release template branch name and docker command (#5519)
* Fix the branch name in the release template

* Use a docker command with colour and Ctrl-C support

* Make branch name example more readable

* Fix a link typo

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-11-03 00:28:46 +00:00
Gustavo Valverde 4835970bb7
docs: add user documentation on how to use Zebra with docker (#5504)
* docs: add user documentation on how to use Zebra with docker

Motivation:

We don't have a user documentation on how to use/deploy Zebra using our
the Dockerfile available in our repository or were the images are being
hosted

Solution:

Add user documentation explaining how to pull the image from the Docker
Hub or how to build it locally. With extra information on which images
we're hosting and where we're hosting it

* docs(docker): use existing getting started header

* Update book/src/user/docker.md

Co-authored-by: Arya <aryasolhi@gmail.com>

* docs(docker): add build alternative instructions from Docker

* docs: add docker documentation to Rust doc sidebar

* docs: update checklist with docker user documentation

* Update README.md

Co-authored-by: teor <teor@riseup.net>

* Update new refs to rc.1

Co-authored-by: Arya <aryasolhi@gmail.com>
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-11-01 05:47:37 +00:00
Alfredo Garcia b66d81a9e4
docs(fix): remove task and change name suggestion in release template (#5514)
* fix name suggestion

* remove not needed task

the version in the book install.md was removed in https://github.com/ZcashFoundation/zebra/pull/5433
2022-10-31 22:29:26 +00:00
Arya a4cb835e12
Release Zebra 1.0.0-rc.0 (#5383)
* Increment Zebra versions

* Initial draft changelog

* Add blog post to the release checklist

* Say "user testing"

Co-authored-by: teor <teor@riseup.net>
2022-10-12 01:17:55 +00:00
teor fd63d33f11
change(doc): Update README and release checklist for the release candidate (#5314)
* Add a Docker run command to the README

* Update the README with some user-relevant release candidate goals

* Update the release template for the release candidate

* Fix beta crate explanation

* Be more specific about what "this PR" means

* Update docker command for latest tag changes

* Update README Docker command based on tag changes

* Make Zebra release versions more vague in README.md

Co-authored-by: Pili Guerra <mpguerra@users.noreply.github.com>

* Move build instructions to build section

Co-authored-by: Pili Guerra <mpguerra@users.noreply.github.com>

* Add newlines to separate heading and paragraphs

* Remove extra newline

* Add a note for a future command update

* Remove manual build check, it doesn't have tier 1 support

Co-authored-by: Pili Guerra <mpguerra@users.noreply.github.com>
2022-10-05 12:46:10 +00:00
teor 99bdc8d14c
doc(release): Update release template for Docker releases (#5193)
* Explain how to use the release template

I always have to look this up every time.

Also delete a long description of semantic versioning.

* Delete extra info that is already in the template elsewhere

* Explain how `Cargo.lock` gets updated

* Use a branch name that Google Cloud will accept

* Update release instructions for Docker binaries

* Add extra release testing steps

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>
2022-09-27 21:53:00 +00:00
teor b0e60d7c11
change(release): Automatically split CHANGELOG entries into categories (#5203)
* Update release-drafter.yml

* Explain where we got the workflow from

* Automatically add "trivial" label to dependabot updates

* Add categories and auto-labels to release drafter

* Update release PR template for automatic release drafter versions

* Also strip PR series numbers and leading spaces from changelog entries

* Update release note version check

* Update label names

* Add missing ! in conventional commits regex

Co-authored-by: Marek <mail@marek.onl>

* Make versioning steps more specific

Co-authored-by: Marek <mail@marek.onl>

* Remove conflicting detailed versioning explanations

Co-authored-by: Marek <mail@marek.onl>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-09-27 12:41:55 +00:00
Marek 7f61c4c936
Make the release instructions more explicit (#5026) 2022-09-02 08:55:09 +00:00
Alfredo Garcia 21d3af4b8d
update release list with checkpoints bump (#4800) 2022-07-21 13:44:40 +10:00
teor a55262c3ac
Make the release checklist shorter and hide some details (#4712)
* Make the release checklist shorter and hide some details

* Ignore any `fastmod` updates to previous release notes in `CHANGELOG.md`

* Use recent versions in examples

* Fix markdown that doesn't render correctly

* Fix some weird line breaks

* Use capital letters to start list items

* Clarify `fastmod` and `CHANGELOG.md`

* Clarify version format by changing highlighting
2022-07-07 20:31:19 +00:00
Marek 64ac9e4cc2
Change the order of instructions for creating a release (#4595) 2022-06-13 21:26:58 +00:00
Marek e31449ecdd
Update `release-checklist.md` (#4568) 2022-06-04 00:59:42 +00:00
Conrado Gouvea bae470b5ba
change(doc): add item to release checklist to update dependencies in the README (#4449)
* change(doc): add item to release checklist to update dependencies in the README

* Update .github/PULL_REQUEST_TEMPLATE/release-checklist.md

Co-authored-by: Marek <mail@marek.onl>

Co-authored-by: Marek <mail@marek.onl>
2022-05-20 19:19:51 +00:00
teor 13c216cd3c
1.0.0-beta.7 Release (#4039)
* Update changelog for v1.0.0-beta.7

* Increment all crate versions

* Remove redundant release test that is now covered by CI

* Remove completed NU5 README check task from the release template

* Add Merge Freeze tool to the release checklist

* Simplify release checklist by removing unused steps
2022-04-05 18:06:46 +00:00
Conrado Gouvea e75fe2c42f
include listing not-mentioned PRs and not-bumped crates in the release checklist (#3621) 2022-02-23 18:18:30 +00:00
Conrado Gouvea 1cbc06aa64
Add install.md to checklist, update to use a single PR (#3282)
* Add updating install.md to checklist

* Change to use a single PR for version increment and changelog
2021-12-23 10:16:15 -03:00
Janito Vaqueiro Ferreira Filho b71833292d
Use `MockedClientHandle` in other tests (#3241)
* Move `MockedClientHandle` to `peer` module

It's more closely related to a `Client` than the `PeerSet`, and this
prepares it to be used by other tests.

* Rename `MockedClientHandle` to `ClientTestHarness`

Reduce confusion, and clarify that the client is not mocked.

Co-authored-by: teor <teor@riseup.net>

* Add clarification to `mock_peers` documentation

Explicitly say how the generated data is returned.

* Rename method to `wants_connection_heartbeats`

The `Client` service only represents one direction of a connection, so
`is_connected` is not the exact term.

Co-authored-by: teor <teor@riseup.net>

* Mock `Client` instead of `LoadTrackedClient`

Move where the conversion from mocked `Client` to mocked
`LoadTrackedClient` in order to make the test helper more easily used by
other tests.

* Use `ClientTestHarness` in `initialize` tests

Replace the boilerplate code to create a fake `Client` instance with
usages of the `ClientTestHarness` constructor.

* Allow receiving requests from `Client` instance

Create a helper type to wrap the result, to make it easier to assert on
specific events after trying to receive a request.

* Allow inspecting the current error in the slot

Share the `ErrorSlot` between the `Client` and the handle, so that the
handle can be used to inspect the contents of the `ErrorSlot`.

* Allow placing an error into the `ErrorSlot`

Assuming it is initially empty. If it already has an error, the code
will panic.

* Allow gracefully closing the request receiver

Close the endpoint with the appropriate call to the `close()` method.

* Allow dropping the request receiver endpoint

Forcefully closes the endpoint.

* Rename field to `client_request_receiver`

Also rename the related methods to include
`outbound_client_request_receiver` to make it more precise.

Co-authored-by: teor <teor@riseup.net>

* Allow dropping the heartbeat shutdown receiver

Allows the `Client` to detect that the channel has been closed.

* Rename fn. to `drop_heartbeat_shutdown_receiver`

Make it clear that it affects the heartbeat task.

Co-authored-by: teor <teor@riseup.net>

* Move `NowOrLater` into a new `now-or-later` crate

Make it easily accessible to other crates.

* Add `IsReady` extension trait for `Service`

Simplifies checking if a service is immediately ready to be called.

* Add extension method to check for readiness error

Checks if the `Service` isn't immediately ready because a call to
`ready` immediately returns an error.

* Rename method to `is_failed`

Avoid negated method names.

Co-authored-by: teor <teor@riseup.net>

* Add a `IsReady::is_pending` extension method

Checks if a `Service` is not ready to be called.

* Use `ClientTestHarness` in `Client` test vectors

Reduce repeated code and try to improve readability.

* Create a new `ClientTestHarnessBuilder` type

A builder to create test `Client` instances using mock data which can be
tracked and manipulated through a `ClientTestHarness`.

* Allow configuring the `Client`'s mocked version

Add a `with_version` builder method.

* Use `ClientTestHarnessBuilder` in `PeerVersions`

Use the builder to set the peer version, so that the `version` parameter
can be removed from the constructor later.

* Use a default mock version where possible

Reduce noise when setting up the harness for tests that don't really
care about the remote peer version.

* Remove `Version` parameter from the `build` method

The `with_version` builder method should be used instead.

* Fix some typos and outdated info in the release checklist

* Add extra client tests for zero and multiple readiness checks (#3273)

And document existing tests.

* Replace `NowOrLater` with `futures::poll!` (#3272)

* Replace NowOrLater with the futures::poll! macro in zebrad

* Replace NowOrLater with the futures::poll! macro in zebra-test

* Remove the now-or-later crate

* remove unused imports

* rustfmt

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2021-12-22 06:13:26 +10:00
teor 022808d028
Release Zebra v1.0.0-beta.2 (#3132)
Zebra's latest beta continues implementing zero-knowledge proof and note commitment tree validation. In this release, we have finished implementing transaction header, transaction amount, and Zebra-specific NU5 validation. (NU5 mainnet validation is waiting on an `orchard` crate update, and some consensus parameter updates.)

We also fix a number of security issues that could pose a local denial of service risk, or make it easier for an attacker to make a node follow a false chain.

As of this release, Zebra will automatically download and cache the Sprout and Sapling Groth16 circuit parameters. The cache uses around 1 GB of disk space. These cached parameters are shared across all Zebra and `zcashd` instances run by the same user.

See CHANGELOG.md for the full list of changes in this release.
2021-12-03 06:54:14 +10:00
Pili Guerra 989ba51cb9
Update release-checklist.md (#3001)
Include potential changes to the README in the release checklist

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
2021-11-02 15:36:47 +00:00
Marek ffa6fed7b3
Improve the template for release versioning (#2906)
* Specify the location of the user agent string

* Specify the `cargo install` command

* Fix a typo

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2021-10-20 18:02:07 +00:00
Alfredo Garcia ac76d35cbb
Make some small changes to release-checklist.md (#2671)
* Update release-checklist.md

* give all alternatives to check what changed

Co-authored-by: teor <teor@riseup.net>
2021-08-26 22:45:19 +00:00
Pili Guerra 515dc4bf5c
Update versions for Zebra v1.0.0 alpha.12 release (#2415)
* Update versions for zebra v1.0.0-alpha.12 release

* Update Cargo.lock

* Update release checklist with latest version changes to help keep track for future releases

* Remove reference to the fact that tower-fallback was not updated
2021-07-01 08:59:32 +01:00
Pili Guerra e87933e167
Add CHANGELOG.md file to the zebra git repo (#2346)
* Add new CHANGELOG.md file to zebra git repo

* Update Release Checklist to add updates to CHANGELOG.md

* Add some explanation about the CHANGELOG.md file

* Fix headings to make them consistent with Keep a changelog format

* Small fix for clarity

* Add release dates to changelog

* Change order of steps to update the changelog
2021-06-22 14:31:30 +01:00
teor 3d2fb1c13e
Update GitHub and RFC templates based on retrospectives (#2242)
Updates:
- GitHub Issue templates
- GitHub PR templates
- RFC template

Focusing on:
- consensus rule / network reference sections
- design sections
- review/test checklist

Process changes:
- add new team members to RFC approval
- change RFC approval to "most of the team"

And general cleanup:
- delete docs from the checklist, because we now `warn(missing_docs)`
- shorter explanations
- consistent headings
- consistent order
- consistent formatting
2021-06-04 14:40:53 +10:00
teor f8693ee004
Explain how to review version bump PRs (#2138) 2021-05-12 10:42:48 +02:00
Kirill Fomichev 43e792b9a4
Update to vergen 5, add branch, commit time, and build target to the panic metadata, automatically update app version from crate version (#2029)
* build(deps): bump vergen from 3.2.0 to 5.1.1

* fix hardcoded version for Tracing struct

* add additional metadata

* remove extra allocations for metadata

* Remove zebrad code version from release checklist

The zebrad code automatically uses the crate version now.

* Sort panic metadata into rough categories

Co-authored-by: teor <teor@riseup.net>
2021-04-20 06:48:14 +10:00
teor 8caf016ead Update RFC PR template for drafts 2021-03-30 18:22:03 -04:00
teor f6c56a0018 Avoid pinging old staff for RFCs 2021-03-30 10:39:08 -04:00
Deirdre Connolly 33e9efe2dd
Mention git diff --stat in release PR template (#1934) 2021-03-23 14:39:12 +10:00
teor c8b8a428c6 Revise release checklist to be more explicit 2021-03-17 22:23:41 -04:00
Alfredo Garcia b8742f03a9 add a note to save changelog locally 2021-03-17 22:23:41 -04:00
Deirdre Connolly 624bbf4b9a
Update release-checklist.md (#1810)
With edits from our recent release
2021-02-24 08:56:06 +10:00
teor d0632ea29b
Add md files to release checklist commands 2021-02-23 17:33:39 +10:00
teor 6badfe73ca
Add fastmod example to release checklist 2021-02-23 17:31:02 +10:00
teor a1c507240f
Fix a release-checklist.md typo 2021-02-23 11:47:02 +10:00
Deirdre Connolly d93804ebe7
Add draft PR template for release checklist (#1717)
* Add draft PR template for release checklist

* Add some notes about keepachangelog categories

* Add excessive detail to the release checklist

We want to be very clear about the process now,
so we get consistency, and so other developers
can follow it.

Eventually, these details should move to the
developer book.

* Add links for Release Drafter and the GitHub Releases location

Co-authored-by: teor <teor@riseup.net>
2021-02-10 10:56:58 +10:00
Alfredo Garcia c8e6f5843f
Update RFC template (#1278)
* update rfc template
* change pull to issues
2020-11-17 11:10:21 +10:00
teor a5a86622d4
Add team approval to the RFC pull request template (#1178) 2020-10-21 11:36:23 -07:00
teor 8def574bc2 Activate the standard pull request template by default
Non-default pull request templates can be used via the CLI,
or a URL query parameter:
https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/about-automation-for-issues-and-pull-requests-with-query-parameters
2020-10-17 17:20:41 -04:00
Henry de Valence d25cc20319 refer to CONTRIBUTING.md in rfc template 2020-08-31 00:58:50 -04:00
Henry de Valence 43c9441a73 Update .github/PULL_REQUEST_TEMPLATE/pull_request.md
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2020-08-31 00:58:50 -04:00
Henry de Valence b212becb67 Add issue and PR templates, document RFC process 2020-08-31 00:58:50 -04:00