Commit Graph

63 Commits

Author SHA1 Message Date
Alfredo Garcia 790e4bd1b1
update dry-run release commands (#8298) 2024-02-22 12:41:28 +00:00
Alfredo Garcia 2d217e29e7
rename worflows to fix readme badges (#8116) 2023-12-18 21:07:40 +00:00
Arya 5bdad1bcaa
Release Zebra 1.5.0 (#8027)
* adds a summary to changelog

* chore: Release

* Apply suggestions from code review

* updates Changelog.md

* updates changelog.md

* mentions/updates MSRV

* updates checkpoints

* updates ESTIMATE_RELEASE_HEIGHT

* Apply suggestions from code review

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

* updates estimated release height

* combines changelog entries about scanner db

* zebra-scan is still in alpha

* Update CHANGELOG.md

* update release checklist for zebra-scan

* use fastmod to update zebra-scan version

* corrects zebra-scan version requirement in zebrad

* Applies suggestions from review

* updates changelog

* Update zebrad/src/components/sync/end_of_support.rs

---------

Co-authored-by: teor <teor@riseup.net>
2023-12-12 00:44:15 +00:00
teor 76522b552c
change(release): Only allow releases from the `main` branch, and update workflow names (#7917)
* only allow releases from the main branch

* Update workflow links in the release checklist

* One more workflow query update
2023-11-07 17:34:17 +00:00
teor 04568d2527
change(release): Add "wait for a full sync" to the release checklist and ticket template (#7612)
* Add a state full sync to the release-checklist.md

* Add state test and freeze to release.md

* Make testing requirement clearer

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2023-09-28 22:53:30 +00:00
teor dbdb4be429
add(doc): Add instructions for changing crate owners (#7572)
* Add instructions for changing crate owners

* Explain new owner invites

* Remove duplicate `cargo login` instructions from the release checklist

* Remove owners as well

* Missing log line
2023-09-20 00:40:48 +00:00
teor cf1e07248e
change(release): Document the release level for RPC and command-line changes (#7196)
* Document the release level for RPC and command-line changes

* Add RPCs and command-line arguments
2023-07-11 21:04:53 +00:00
teor 9b32ab7878
change(release): Update release script and check it in CI (#7128)
* Activate production features on docs.rs

* Make version requirements more flexible to work around unpublished versions

* Remove a redundant feature requirement that causes publishing issues

* fix release auto-replacement format

* cargo release replace --verbose --execute --package zebrad

* Add a missing 1.0.1 changelog entry

* Fix incorrect commands in the release checklist

* Check the crates.io release script in CI, to avoid release failures

* Fix release date in changelog

* Fix workflow typo

* Add --no-confirm to the workflow

* Fix outdated version in release check command

* After the release, add a "remove do-not-merge" step

* Set git identity before committing

* Don't overwrite tweaked versions on upgrade

* cargo release version doesn't support --dependent-version

* Update the same commands in the release checklist

* Commit to git after each change

* And in the checklist

* Add cargo release config

* In CI, allow any branch and provide a fake previous tag name

* Remove redundant `cargo release commit`

* Use a simpler release version process

* Start simplifying the release dry run in CI

* Fix a cargo dependency lint

* just skip the failing crates for now

* Fix the release checklist to match CI

* Use the latest versions of all Zebra dependencies
2023-07-04 19:01:11 +00:00
teor 9112aa43d0
change(release): Split release checklist into a ticket and PR template (#7088)
* Split release checklist into a ticket and PR template

* Fix quoting
2023-06-28 09:46:59 +00:00
teor 9229424ebb
add(ci): Run release builds and production Docker image tests on pull requests (#7055)
* Update the workflow run conditions for CI docker tests

* Run release builds and release Docker image tests on pull requests

* Remove the manual docker test from the release checklist

* Fix workflow syntax

* Use the right kind of quotes
2023-06-25 23:24:10 +00:00
teor 31bc46bb2a
Add deny.toml update details to release-checklist.md (#7042) 2023-06-22 07:47:02 +00:00
teor ac4a34231b
Change network upgrade wording in release-checklist.md (#7010) 2023-06-20 11:04:32 +00:00
teor b199a3008d
change(release): Add more cargo clean to the release checklist (#6964)
* Add more cargo clean to the release checklist

* Add locked to the install command
2023-06-16 16:32:21 +00:00
Deirdre Connolly 9bf1c980c2
change(docs): Explicitly invoke --execute when bumping crate versions (#6949)
* Explicitly invoke --execute when bumping crate versions

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

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

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

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

---------

Co-authored-by: teor <teor@riseup.net>
2023-06-14 20:00:53 +00:00
Deirdre Connolly e870c389a9
change(docs): Add `cargo clean` step to crate publishing steps (#6959)
This bit me mid-publish so
2023-06-14 19:09:41 +00:00
Deirdre Connolly d2a29b6552
change(docs): Add publishing crates as part of release checklist (#6909)
* change(docs): Add instructions for publishing crates as part of release checklist

* Update release-checklist.md

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

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

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

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

* Rewrite the release checklist using `cargo release`

* Minimise diff

* Re-order testing, minimise diff

* Add checkbox to checkpoints instruction

* Tag/promote release, then publish crates, then publish docker images

---------

Co-authored-by: teor <teor@riseup.net>
2023-06-13 20:53:15 +00:00
teor d67b37a7a1
Fix release-checklist.md (#6883) 2023-06-09 15:58:38 +00:00
Deirdre Connolly 319b01bb84
docs: Prep release checklist for stable (#6876)
* Prep release checklist for stable

* Update .github/PULL_REQUEST_TEMPLATE/release-checklist.md
2023-06-08 19:53:51 +00:00
Alfredo Garcia c76d1f5219
docs(release-checklist): add cargo update steps to task list (#6657)
* add cargo update steps to task list

* Fix a formatting issue in the checklist

* Apply suggestions from code review

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

---------

Co-authored-by: teor <teor@riseup.net>
2023-05-14 03:27:24 +00:00
Alfredo Garcia 7c67512cd5
feat(zebra-network): add user agent argument (#6601)
* add user agent as argument, use git to auto build zebra user agent

* try to fix test

* fix typo

* change expect text

* remove newline

* fix some docs

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

---------

Co-authored-by: Marek <mail@marek.onl>
2023-05-05 00:29:14 +00:00
teor 937d704e69
change(ci): Generate testnet checkpoints in CI (#6581)
* Split checking for cached state disks into its own workflow

* Fix workflow field order

* Run the top-level workflow when the reusable workflow changes

* And run dependent workflows for pull requests as well

* Remove redundant output names

* Document the existing and new workflow jobs

* Add the network to the "no disk found" message

* Tweak existing docs and descriptions

* Generate Zebra checkpoints on testnet

* Add a full sync testnet entrypoint, and simplify mainnet env vars

* Only run the full testnet sync on the main branch

* Deduplicate and update the zebra-checkpoints docs

* Add instructions for automatic checkpoint generation

* Hide some details in the release checklist

* Update release checkpoint instructions to use CI

* Only update the cache in one job on mainnet
2023-05-03 23:14:22 +00:00
Alfredo Garcia 58bd898f5b
feat(zebrad): Refuse to run zebrad when release is too old (#6351)
* refuse to run Zebra if it is too old

* update the release checklist to consider the constants

* bring newline back

* apply new end of support code

* attempt to add tests (not working yet)

* move eos to progress task

* move tests

* add acceptance test (not working)

* fix tests

* change to block height checks (ugly code)

* change warn days

* refactor estimated blocks per day, etc

* move end of support code to its own task

* change test

* fix some docs

* move constants

* remove uneeded conversions

* downgrade tracing

* reduce end of support time, fix ci changing debugs to info again

* update instructions

* add failure messages

* cargo lock update

* unify releaase name constant

* change info msg

* clippy fixes

* add a block explorer

* ignore testnet in end of support task

* change panic to 16 weeks

* add some documentation about end of support

* Tweak docs wording

---------

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-04-28 14:13:21 +00:00
teor e831e1b0dd
Add arborist and comms summaries to the release checklist (#6565) 2023-04-25 20:44:10 +00:00
teor 7d13a67656
Use Mergify queue merges for releases (#6435) 2023-04-11 23:21:54 +00:00
teor 9a3c88c565
Add missing continuous deployment step to the release checklist (#6401) 2023-03-27 22:45:33 +00:00
teor 8cf62b4a17
change(deps): Update dependencies that only appear in the lock file (#6217)
* Manually update duplicate dependency exceptions

* Update the release checklist to check for missed dependency updates

* Fix a clippy "unused result" lint

* Run `cargo update`

Output:
```
$ cargo update
    Updating crates.io index
    Updating addr2line v0.17.0 -> v0.19.0
    Updating ahash v0.8.2 -> v0.8.3
    Updating aho-corasick v0.7.18 -> v0.7.20
    Updating anyhow v1.0.69 -> v1.0.70
    Updating arrayref v0.3.6 -> v0.3.7
    Updating async-stream v0.3.2 -> v0.3.4
    Updating async-stream-impl v0.3.2 -> v0.3.4
    Updating async-trait v0.1.52 -> v0.1.67
    Updating axum v0.5.17 -> v0.6.12
    Updating axum-core v0.2.9 -> v0.3.3
    Updating backtrace v0.3.64 -> v0.3.67
    Updating base64 v0.13.0 -> v0.13.1
    Updating bit-set v0.5.2 -> v0.5.3
    Removing block-buffer v0.7.3
    Removing block-buffer v0.10.2
      Adding block-buffer v0.10.4
    Removing block-padding v0.1.5
    Updating bls12_381 v0.7.0 -> v0.7.1
    Updating bstr v0.2.17 -> v1.4.0
    Updating byte-slice-cast v1.2.1 -> v1.2.2
    Removing byte-tools v0.3.1
    Updating bytemuck v1.8.0 -> v1.13.1
    Updating cc v1.0.73 -> v1.0.79
    Removing chunked_transfer v1.4.0
    Updating cipher v0.4.3 -> v0.4.4
    Updating clang-sys v1.3.1 -> v1.6.0
    Updating clap v3.2.20 -> v3.2.23
    Updating console v0.15.4 -> v0.15.5
    Updating constant_time_eq v0.2.4 -> v0.2.5
    Updating crossbeam-channel v0.5.4 -> v0.5.7
    Updating crossbeam-deque v0.8.1 -> v0.8.3
    Updating crossbeam-epoch v0.9.7 -> v0.9.14
    Updating crossbeam-utils v0.8.7 -> v0.8.15
      Adding cxx-build v1.0.93
    Updating cxx-gen v0.7.74 -> v0.7.93
    Updating darling v0.14.1 -> v0.14.4
    Updating darling_core v0.14.1 -> v0.14.4
    Updating darling_macro v0.14.1 -> v0.14.4
    Removing digest v0.8.1
    Removing digest v0.10.5
      Adding digest v0.10.6
    Updating dirs-sys v0.3.6 -> v0.3.7
    Updating either v1.6.1 -> v1.8.1
    Updating encoding_rs v0.8.30 -> v0.8.32
    Updating enum-iterator v1.2.0 -> v1.4.0
    Updating enum-iterator-derive v1.1.0 -> v1.2.0
    Updating eyre v0.6.7 -> v0.6.8
    Removing fake-simd v0.1.2
    Updating fastrand v1.7.0 -> v1.9.0
    Updating ff v0.12.0 -> v0.12.1
    Updating fixedbitset v0.4.1 -> v0.4.2
    Updating flate2 v1.0.22 -> v1.0.25
    Updating form_urlencoded v1.0.1 -> v1.1.0
    Removing generic-array v0.12.4
    Removing generic-array v0.14.5
      Adding generic-array v0.14.6
    Updating gimli v0.26.1 -> v0.27.2
    Updating glob v0.3.0 -> v0.3.1
    Updating globset v0.4.8 -> v0.4.10
    Updating h2 v0.3.11 -> v0.3.16
    Updating hashbrown v0.12.1 -> v0.12.3
    Updating hdrhistogram v7.5.0 -> v7.5.2
    Updating heck v0.4.0 -> v0.4.1
    Updating http v0.2.8 -> v0.2.9
    Removing http-range-header v0.3.0
    Updating hyper-rustls v0.23.0 -> v0.23.2
    Updating iana-time-zone v0.1.46 -> v0.1.54
      Adding iana-time-zone-haiku v0.1.1
    Updating idna v0.2.3 -> v0.3.0
    Updating io-lifetimes v1.0.4 -> v1.0.9
    Updating ipnet v2.4.0 -> v2.7.1
    Updating is-terminal v0.4.4 -> v0.4.5
    Updating itoa v1.0.4 -> v1.0.6
    Updating jobserver v0.1.24 -> v0.1.26
    Updating js-sys v0.3.59 -> v0.3.61
    Updating libc v0.2.139 -> v0.2.140
    Updating libloading v0.7.3 -> v0.7.4
    Updating libm v0.2.2 -> v0.2.6
    Updating libz-sys v1.1.4 -> v1.1.8
    Updating link-cplusplus v1.0.7 -> v1.0.8
    Updating lock_api v0.4.6 -> v0.4.9
    Removing maplit v1.0.2
    Removing matches v0.1.9
    Updating matchit v0.5.0 -> v0.7.0
    Updating memoffset v0.6.5 -> v0.8.0
    Updating mime v0.3.16 -> v0.3.17
    Updating miniz_oxide v0.4.4 -> v0.6.2
    Updating minreq v2.6.0 -> v2.7.0
    Updating mio v0.8.4 -> v0.8.6
    Updating net2 v0.2.37 -> v0.2.38
    Updating nom v7.1.0 -> v7.1.3
    Updating num-format v0.4.3 -> v0.4.4
    Updating num-traits v0.2.14 -> v0.2.15
    Updating object v0.27.1 -> v0.30.3
    Removing opaque-debug v0.2.3
    Updating openssl v0.10.38 -> v0.10.48
      Adding openssl-macros v0.1.0
    Updating openssl-sys v0.9.72 -> v0.9.83
    Updating os_info v3.5.1 -> v3.7.0
    Updating os_str_bytes v6.3.0 -> v6.5.0
    Updating parity-scale-codec v3.1.2 -> v3.4.0
    Updating parity-scale-codec-derive v3.1.2 -> v3.1.4
    Updating parking_lot v0.12.0 -> v0.12.1
    Removing parking_lot_core v0.8.5
    Removing parking_lot_core v0.9.1
      Adding parking_lot_core v0.8.6
      Adding parking_lot_core v0.9.7
    Updating pasta_curves v0.4.0 -> v0.4.1
    Updating percent-encoding v2.1.0 -> v2.2.0
    Updating pest v2.1.3 -> v2.5.6
    Updating pest_derive v2.1.0 -> v2.5.6
    Updating pest_generator v2.1.3 -> v2.5.6
    Updating pest_meta v2.1.3 -> v2.5.6
    Updating petgraph v0.6.0 -> v0.6.3
    Updating pkg-config v0.3.24 -> v0.3.26
    Updating plotters v0.3.1 -> v0.3.4
    Updating plotters-backend v0.3.2 -> v0.3.4
    Updating plotters-svg v0.3.1 -> v0.3.3
    Updating portable-atomic v0.3.15 -> v0.3.19
    Updating ppv-lite86 v0.2.16 -> v0.2.17
    Updating prettyplease v0.1.9 -> v0.1.25
    Updating proc-macro-crate v1.1.3 -> v1.3.1
    Updating proc-macro2 v1.0.52 -> v1.0.53
    Updating prost-build v0.11.1 -> v0.11.8
    Updating prost-types v0.11.1 -> v0.11.8
    Updating raw-cpuid v10.2.0 -> v10.7.0
    Updating redox_syscall v0.2.11 -> v0.2.16
    Updating redox_users v0.4.0 -> v0.4.3
    Updating rgb v0.8.32 -> v0.8.36
    Updating rustc-demangle v0.1.21 -> v0.1.22
    Updating rustix v0.36.7 -> v0.36.11
    Updating rustls v0.20.7 -> v0.20.8
    Updating rustls-pemfile v1.0.0 -> v1.0.2
    Updating rustversion v1.0.11 -> v1.0.12
    Updating ryu v1.0.9 -> v1.0.13
    Updating schannel v0.1.19 -> v0.1.21
      Adding scratch v1.0.5
    Updating security-framework v2.6.1 -> v2.8.2
    Updating security-framework-sys v2.6.1 -> v2.8.0
    Removing sha-1 v0.8.2
      Adding sha2 v0.10.6
    Updating signal-hook-registry v1.4.0 -> v1.4.1
    Updating similar v2.1.0 -> v2.2.1
    Updating slab v0.4.5 -> v0.4.8
    Updating socket2 v0.4.7 -> v0.4.9
    Removing syn v1.0.104
    Removing syn v2.0.3
      Adding syn v1.0.109
      Adding syn v2.0.8
    Updating sync_wrapper v0.1.1 -> v0.1.2
    Updating termcolor v1.1.3 -> v1.2.0
    Updating textwrap v0.15.0 -> v0.16.0
    Updating thread_local v1.1.4 -> v1.1.7
    Removing time v0.1.44
    Removing time v0.3.17
      Adding time v0.1.43
      Adding time v0.3.20
    Updating time-macros v0.2.6 -> v0.2.8
    Updating tinyvec_macros v0.1.0 -> v0.1.1
    Updating tokio-macros v1.7.0 -> v1.8.2
    Updating tokio-native-tls v0.3.0 -> v0.3.1
    Updating tokio-rustls v0.23.2 -> v0.23.4
    Updating tokio-util v0.6.9 -> v0.6.10
    Updating toml_edit v0.19.7 -> v0.19.8
    Updating tonic v0.8.2 -> v0.8.3
    Updating tonic-build v0.8.2 -> v0.8.4
    Removing tower-http v0.3.4
    Updating tower-layer v0.3.1 -> v0.3.2
    Updating tower-service v0.3.1 -> v0.3.2
    Updating try-lock v0.2.3 -> v0.2.4
    Updating typenum v1.15.0 -> v1.16.0
    Updating ucd-trie v0.1.3 -> v0.1.5
    Updating unicode-bidi v0.3.7 -> v0.3.13
    Updating unicode-ident v1.0.2 -> v1.0.8
    Updating unicode-normalization v0.1.19 -> v0.1.22
    Updating unicode-segmentation v1.9.0 -> v1.10.1
    Updating unicode-width v0.1.9 -> v0.1.10
    Updating unicode-xid v0.2.2 -> v0.2.4
    Updating ureq v2.5.0 -> v2.6.2
    Updating url v2.2.2 -> v2.3.1
    Updating uuid v1.1.0 -> v1.3.0
    Updating walkdir v2.3.2 -> v2.3.3
    Updating wasi v0.10.0+wasi-snapshot-preview1 -> v0.10.2+wasi-snapshot-preview1
    Updating wasm-bindgen v0.2.82 -> v0.2.84
    Updating wasm-bindgen-backend v0.2.82 -> v0.2.84
    Updating wasm-bindgen-futures v0.4.29 -> v0.4.34
    Updating wasm-bindgen-macro v0.2.82 -> v0.2.84
    Updating wasm-bindgen-macro-support v0.2.82 -> v0.2.84
    Updating wasm-bindgen-shared v0.2.82 -> v0.2.84
    Updating web-sys v0.3.56 -> v0.3.61
    Updating webpki-roots v0.22.5 -> v0.22.6
    Updating which v4.2.4 -> v4.4.0
      Adding windows v0.46.0
    Removing windows-sys v0.32.0
    Removing windows-sys v0.36.1
    Updating windows-targets v0.42.1 -> v0.42.2
    Updating windows_aarch64_gnullvm v0.42.1 -> v0.42.2
    Removing windows_aarch64_msvc v0.32.0
    Removing windows_aarch64_msvc v0.36.1
    Removing windows_aarch64_msvc v0.42.1
      Adding windows_aarch64_msvc v0.42.2
    Removing windows_i686_gnu v0.32.0
    Removing windows_i686_gnu v0.36.1
    Removing windows_i686_gnu v0.42.1
      Adding windows_i686_gnu v0.42.2
    Removing windows_i686_msvc v0.32.0
    Removing windows_i686_msvc v0.36.1
    Removing windows_i686_msvc v0.42.1
      Adding windows_i686_msvc v0.42.2
    Removing windows_x86_64_gnu v0.32.0
    Removing windows_x86_64_gnu v0.36.1
   Removing windows_x86_64_gnu v0.42.1
      Adding windows_x86_64_gnu v0.42.2
    Updating windows_x86_64_gnullvm v0.42.1 -> v0.42.2
    Removing windows_x86_64_msvc v0.32.0
    Removing windows_x86_64_msvc v0.36.1
    Removing windows_x86_64_msvc v0.42.1
      Adding windows_x86_64_msvc v0.42.2
    Updating winnow v0.3.6 -> v0.4.0
    Updating wyz v0.5.0 -> v0.5.1
    Updating zeroize_derive v1.3.2 -> v1.3.3
```

* Update deny.toml
2023-03-26 23:53:17 +00:00
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