Commit Graph

294 Commits

Author SHA1 Message Date
Alfredo Garcia d869ec6fe4
change(release): Adjust estimated release interval and end of support (#8429)
* change estimated release interval and end of support

* update readme
2024-04-24 19:22:07 +00:00
Arya 1498f8e24e
Release v1.6.1 (#8396)
* Updates crates versions

* Updates end of support height

* Updates README

* Updates CHANGELOG

* Updates Known Issues in README

* Updates Changelog

* updates release-crates-dry-run.sh

* updates install.md and docker.md

* Update CHANGELOG.md

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

---------

Co-authored-by: Marek <mail@marek.onl>
2024-04-15 23:24:40 +00:00
Alfredo Garcia c22404f639
fix openapi now showing up in book summary (#8357) 2024-03-18 22:05:22 +00:00
Alfredo Garcia 652b4c3263
add openapiu.md to the book summary (#8351) 2024-03-14 16:32:53 +00:00
Alfredo Garcia f2be73eebb
feat(rpc): OpenAPI spec (#8342)
* add an openapi generator

* fix run command

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

---------

Co-authored-by: Marek <mail@marek.onl>
2024-03-14 15:04:19 +00:00
Marek 58bfe974e1
chore: Release v1.6.0 (#8319)
* Prepare the CHANGELOG for v1.6.0

* chore: Release

* Set `ESTIMATED_RELEASE_HEIGHT` to 2_413_000

* Revert "chore: Release"

This reverts commit 5261e85c37.

* chore: Release

* Fix release-crates-dry-run

* Temporarily turn off bumps for `zebra-{scan,grpc}`

* Apply suggestions from code review

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

* Re-enable test bump for `zebra-scan`

* Re-enable test bumps for `zebra-{scan, grpc}`

* Turn off dry-run bumps for `zebra-{scan, grpc}`

* Re-enable bumps and disable dry-run publishing

* Re-enable dry-run publishing

* Exclude `zebra-scan` from publishing

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
2024-02-23 23:28:44 +00:00
Marek c2cfde0749
chore: Update docs for building Zebra (#8315)
* Update build instructions with scanning enabled

* Remove `pkg-config` from build deps in README

I tried compiling Zebra with `--all-features` on a Linux machine without
`pkg-config` or `pkfgconf` (which is an alternative to `pkg-config`),
and it worked.

* Add `protoc` to build deps in README
2024-02-23 16:49:53 +00:00
Arya 4ebd7a80d0
add(scan): Adds gRPC reflection and documents how to use the zebra-scan gRPC server (#8288)
* adds tonic-reflection

* adds listen_addr to log

* Adds user guide for scan server to zebra book

* fixes typo

* Applies suggestions from code review

* update link

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

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Marek <mail@marek.onl>
2024-02-22 18:51:14 +00:00
Marek 584bd23718
Update Debian from Bullseye to Bookworm (#8273) 2024-02-14 23:02:06 +00:00
Gustavo Valverde 5feb40e0b8
feat(docker): allow users to use Zebra + LWD with persistent states (#8215)
* feat(docker): allow users to use Zebra + LWD with persistent states

* fix(docs): better documentation and compose execution

* chore(docs): better context box

* chore: do not commit further user changes to the `.env`

This can always be overriden by forcing this pushes if it was intended

* fix(compose): do not add extra volumes and ports

* Apply suggestions from code review

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

---------

Co-authored-by: Marek <mail@marek.onl>
2024-02-01 21:54:17 +00:00
Gustavo Valverde 18477ecbbe
feat(docker): add `docker-compose` file to run CI locally (#8209)
* ref(docker): Consolidate all tests in the `entrypoint.sh` script

* fix(ci): missing docker argument

* fix(ci): do not blank `ENTRYPOINT_FEATURES` vairable

* fix(docker): do not add `shielded-scan` as part of `TEST_FEATURES`

* chore: remove misleading comment

* feat(docker): add `docker-compose` file to run CI locally

* fix(docs): do not remove previous sections until we have a substitute for users

* fix(docs): revert some changes

* fix: typos

* ref(docker): Consolidate all tests in the `entrypoint.sh` script

* fix(ci): missing docker argument

* fix(ci): do not blank `ENTRYPOINT_FEATURES` vairable

* fix(docker): do not add `shielded-scan` as part of `TEST_FEATURES`

* chore: remove misleading comment

* Update docker/Dockerfile

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

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
2024-01-30 19:19:44 +00:00
Alfredo Garcia 2c18835510
chore: Release (#8187) 2024-01-23 20:00:38 +00:00
Alfredo Garcia 5824f85bb4
Release v1.5.1 (#8165)
* add 1.5.1 changelog

* extend eos

* chore: Release

* add suggestions from review

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

* Apply suggestions from code review

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

---------

Co-authored-by: Marek <mail@marek.onl>
2024-01-19 21:14:32 +00:00
Marek 3ce539805f
Fix docs links (#8160)
PR #7886 introduced this link to docs.rs for the docs of the public
APIs: https://docs.rs/releases/search?query=zebra. However, the query in
the link returns crates that are not part of the Zebra's public API,
and doesn't return the two tower-* crates that are part of Zebra.

This commit refers to a manually created list of links pointing to the
docs of the public APIs of all current Zebra crates.
2024-01-17 11:43:43 +00:00
Marek 01fa50cba3
change(doc): Refactor user & dev docs (#8145)
* Fix the rendering of expandable content

* Refactor the docs refs in the readme

* Change the search query for docs.rs

* Refactor the landing docs for the `zebrad` crate

* List Zebra crates in the landing docs for `zebrad`

* Remove `## Future Work` from the main readme

This section doesn't say anything useful.

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
2024-01-12 22:36:04 +00:00
teor b2e71f41fe
change(doc): Document how to add a column family (#8149)
* Document how to add a column family

* Add the column family to the list in the DB

* Fix rust formatting
2024-01-12 02:11:06 +00:00
Marek f82c23b62e
change(scan): Refactor the user documentation for scanning (#8124)
* Refactor the scanning docs

* Refactor the docs for the scanning reader
2023-12-29 13:48:32 +00:00
Alfredo Garcia d1e72c114f
docs(shielded-scan) Improve feature docs (#8114)
* improve shielded-scan feature docs

* apply suggestions from review

* Fix links and typos

* Use the right birthday height for ZECpages vk

---------

Co-authored-by: Marek <mail@marek.onl>
2023-12-21 17:05:56 +00:00
Alfredo Garcia 2d217e29e7
rename worflows to fix readme badges (#8116) 2023-12-18 21:07:40 +00:00
teor ac72c2b1de
Add shielded-scan.md to the index (#8095) 2023-12-12 23:51:52 +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
Gustavo Valverde e5b810a52a
imp(ci): fix `codespell` words and ignore others (#8089)
This cleans the annotations on every PR, so it doesn't show up from now on.
2023-12-11 22:33:03 +00:00
teor 5dd33d7265
Add `ldb` RocksDB query tool to the Dockerfile (#8074)
* Add `ldb` RocksDB query tool to the Dockerfile

* Add shielded scanning link to run.md

* Add `ldb` tool instructions to install.md

* Add a rough framework for shielded-scan.md

* Add security warning and feature limitations to shielded-scan.md
2023-12-08 00:14:54 +00:00
Alfredo Garcia 193fd427fb
add a testnet fork tutorial (#7995) 2023-11-26 21:34:24 +00:00
Alfredo Garcia f2b1737edd
update the node version in debian install details (#7933) 2023-11-09 22:53:04 +00:00
teor 477da1a774
Release Zebra 1.4.0 (#7911)
* Add a new known issue to the README

* Update the changelog

* Set release height around 8 November

* chore: Release
2023-11-06 12:51:41 +00:00
teor 828c2aea57
doc(devops): Explain how to change branch protection rules (#7883)
* Explain how to change branch protection rules

* Fix list formatting

* Add missing .

* Fix incorrect link

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

---------

Co-authored-by: Pili Guerra <mpguerra@users.noreply.github.com>
2023-11-02 16:59:20 +00:00
teor afbe807060
change(docs): Replace doc.zebra.zfnd.org API documentation with docs.rs (#7886)
* Simple replacements of doc.zebra.zfnd.org with docs.rs

* Manual fixes for specific main/internal/external docs

* Point developer docs to doc-internal.zebra.zfnd.org

* fastmod --glob '\!.git' -- doc.zebra.zfnd.org/zebrad docs.rs/zebrad/latest/zebrad

* Manually remove any remaining doc.zfnd.zebra.org links

* Remove the external docs job

* Add changelog entry and fix links

* Fix links that were broken before this PR
2023-11-01 22:09:40 +00:00
Arya 0a3790b73e
change(consensus): Remove Sprout and Sapling parameter download task and debug_skip_preload config (#7844)
* removes groth16 download task

* updates docs.

* Adds new config to test configs

* fixes compatibility with past configs

* uses inner config to deserialize removed field for compatibility

* update docs

* updates latest config

* Applies suggestions from code review

* Avoid duplicating hard-coded default values

---------

Co-authored-by: teor <teor@riseup.net>
2023-10-27 06:12:57 +00:00
teor ce22be37dc
change(docs): Add macOS M1 as a tier 3 supported platform (#7851)
* Add macOS M1 as a tier 3 supported platform

* Add apple machine brand name that users will know
2023-10-26 22:08:22 +00:00
Pili Guerra 64bf38c17c
Make macOS a tier 2 supported platform in the docs. closes #7824 (#7843) 2023-10-26 19:17:47 +00:00
Marek 06ab529877
docs: Refactor the installation instructions for `s-nomp` (#7835)
* Remove references to `getblocktemplate-rpcs`

* Refactor the sync description

* Refactor the instructions for installing `s-nomp`

* Mention Node 10 instead of 8.11

* Refactor the description of Zebra's sync

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

---------

Co-authored-by: teor <teor@riseup.net>
2023-10-26 00:06:40 +00:00
teor a126acb160
change(doc): Document state format upgrade implementation and testing (#7799)
* Explain verification modes

* Explain block write modes

* Expand upgrade goals

* Document testing requirements

* Update current format docs

* Move the detailed checklist to the ticket template

* Move an example back

* Reword confusing paragraphs

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

* Explain the difference between major and minor/patch versions

* Simplify upgrade wording

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

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
Co-authored-by: Marek <mail@marek.onl>
2023-10-25 22:18:41 +00:00
Alfredo Garcia c173198d4f
docs(build): Add ECC dependencies documentation (#7794)
* add ecc dependencies documentation

* add `cargo deny` suggestion to deny.toml section

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

* change sententence syntax

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

* Apply suggestions from code review

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

* move consistency check

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
Co-authored-by: teor <teor@riseup.net>
2023-10-25 03:27:16 +00:00
teor aad883b68a
change(consensus): Build Sprout and Sapling parameters into the zebrad binary, so a download server isn't needed (#7800)
* Build sapling parameters into zebrad

* Load the sapling parameters from wagyu-zcash-parameters

* Reword logs

* wget https://github.com/zcash/zcash/raw/master/src/rust/src/sprout-groth16.vk

* Load sprout from binary and remove download code

* Remove download examples binaries

* Remove unused features and dependencies

* Remove docs and comments about downloading parameters

* Add CHANGELOG entry

* Remove parameter cache steps in workflows

* Update comment about downloading

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

* Fix outdated timeout comments and short timeouts

---------

Co-authored-by: Marek <mail@marek.onl>
2023-10-24 23:27:24 +00:00
teor bb7eeb6f76
Document how to fix deny.toml warnings (#7806) 2023-10-24 13:12:57 +00:00
teor b04cca9ec5
change(dev doc): Document how to change branch protection rules (#7773)
* Document branch protection rules

* Document automatic jobs for new crates

* Link to patch workflow docs

* Update book/src/dev/continuous-integration.md

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

---------

Co-authored-by: Gustavo Valverde <gustavo@iterativo.do>
Co-authored-by: Marek <mail@marek.onl>
2023-10-22 15:40:19 +00:00
teor 64f777274c
fix(security): fix concurrency issues in tree key formats, and CPU usage in genesis tree roots (#7392)
* Add tree key format and cached root upgrades

* Document the changes in the upgrades

* Remove unnecessary clippy::unwrap_in_result

* Fix database type

* Bump state version

* Skip some checks if the database is empty

* Fix tests for a short state upgrade

* Disable format checks in some tests

* Document state performance issues

* Clarify upgrade behaviour

* Clarify panic messages

* Delete incorrect genesis trees write code

* Fix metrics handling for genesis

* Remove an unused import

* Explain why genesis anchors are ok

* Update snapshots

* Debug a failing test

* Fix some tests

* Fix missing imports

* Move the state check in a test

* Fix comment and doc typos

Co-authored-by: Marek <mail@marek.onl>
Co-authored-by: Arya <aryasolhi@gmail.com>

* Clarify what a long upgrade is

* Rename unused function arguments

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

* Add all_unordered log regex matching methods

* Fix timing issues with version upgrades and other logs

* Fix argument name in docs

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

* Explain match until first for all regexes behaviour better

---------

Co-authored-by: Marek <mail@marek.onl>
Co-authored-by: Arya <aryasolhi@gmail.com>
2023-10-19 14:50:46 +00:00
Gustavo Valverde fc0133e886
ref(workflows): consolidate workflows based on their purpose (#7616)
* ref(workflows): consolidate workflows based on their purpose

This also renames the workflows to make their naming more consistent and adding a naming convention

Fixes: #6166
Fixes: #6167

* fix(workflows): use correct name for patch

* fix(workflow): docker unit tests

* fix(release): validation error

Error:
```
Validation Failed: {"resource":"Release","code":"invalid","field":"target_commitish"}
```

Fixes: https://github.com/release-drafter/release-drafter/issues/1125

* fix(workflows): reference correct name

* fix: remove extra workflow

* fix(workflows): use larger runners

* fix(workflow): remove code already in docker unit-test

* fix(unit-tests): start zebra the right way

* fix: typo in patch name

* chore: move job to logical order

* imp(workflows): use better name for gcp tests

* add: missing merge changes

* chore: use better name for find-disks

* fix(ci): use the `entrypoint.sh` to change the Network

* fix(ci): add missing `ZEBRA_CONF_PATH` variable

* fix(ci): allow to build the entrypoint file with testnet

* fix(entrypoint): allow to create a dir and file with a single variable

* refactor: test config file in CI and CD with a reusable workflow

* fix(ci): wrong name used

* fix(ci): use checkout

* fix(ci): improve docker config tests

* fix(ci): use better name for protection rules

* Fix changed workflow file name in docs patch file

* Apply suggestions from code review

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

* fix(cd): depend on file tests

* fix(docs): adapt to new workflow name

* fix: revert test coverage on CD

* chore: reduce diff

* fix(ci): allow using variable images for reusable workflows

* fix(dockerfile): use variables or default for config path and file

* fix(entrypoint): if `$ZEBRA_CONF_PATH` is set, do not override it

* Fix patch job names and remove failure job testnet dependencies

---------

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Arya <aryasolhi@gmail.com>
2023-10-18 06:16:02 +00:00
teor 08ce2ad500
feature(mining): Enable mining RPCs by default in production builds (#7740)
* Enable getblocktemplate-rpcs in production builds

* Update mining instructions

* Consistently use ZF funding stream addresses in examples

* Simplify skip_getblocktemplate()

* Set the test miner address based on the network

* Correctly skip checks in lightwalletd send transactions test

* Wait longer for transaction query

* Wait longer before re-checking the mempool

* Skip mempool checks if it wasn't queried by lightwalletd

* rustfmt

* clippy and rustfmt

* Fix attribute issue

* Fix typo

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

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
2023-10-18 04:15:17 +00:00
teor bea90dfd62
change(doc): Add instructions for new placeholder crates (#7751)
* Add instructions for new placeholder crates

* minor changes

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2023-10-17 21:54:01 +00:00
Marek 13230d09fe
chore: Release v1.3.0 (#7610)
* Update `CHANGELOG.md`

* Apply suggestions from code review

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

* Group together test PRs for `z_getsubtreesbyindex`

* chore: Release

* Update the end of support height

* Add progress bars changelog entry

* Update CHANGELOG.md

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

* Update CHANGELOG.md

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

* Update `CHANGELOG.md`

* Update `CHANGELOG.md`

* Update `README.md`

* Update `ESTIMATED_RELEASE_HEIGHT`

Set the release height to start on ~ Monday, 2023-10-16.

* Update CHANGELOG.md

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

* Remove changelog entries invisible to users

---------

Co-authored-by: teor <teor@riseup.net>
2023-10-16 23:04:33 +00:00
Gustavo Valverde fbd6b0f8b3
ref(docker): combine test and prod entrypoints into one (#7660)
* ref(docker): combine test and prod entrypoints into one

This makes the following changes
- Uses `-x` instead of echoing the variables values
- Sets default values where required
- Create a function to list directories
- Create a function to run cargo tests
- Use a better approach to handle different options in the `case` manegement for tests and production
- Replaces all instances of `runtime-entrypoint.sh` with `entrypoint.sh`

* chore: use 2 spaces insted of 4 for indentation

* fix: add missing `test-threads` to `fully_synced_rpc_`

* fix: allow 3 arguments instead of 2 to handle `fully_synced_rpc_` correctly

* chore: remove extra file

* chore: add comments to main parts of the file

* fix(ci): just create the `$ZEBRA_CONF_PATH` if `$ENTRYPOINT_FEATURES` is not set

* fix(entrypoint): just print ${ZEBRA_CONF_PATH} if exists

* fix: missing condition

* ref: handle tests better if `$ENTRYPOINT_FEATURES` is set

* fix(ci): We just want `ZEBRA_CONF_PATH` to be set in the `release` image

* fix(entrypoint): fix the overall `case` logic

* fix(ci): allos to run with custom config in CI image

* fix(ci): more edgecases

* fix: we don't need to find files, but subdirectories

* fix(ci): handle Signal Forwarding and exit codes for `cargo`

* fix(ci): parse `fully_synced_rpc_` test correctly

* chore: add missing cache dir variable for LWD

* fix(entrypoint): handle an arbitrary number of arguments

* fix(entrypoint): handle features list

* fix(entrypoint): typo

* chore: typo
2023-10-11 19:04:45 +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
Gustavo Valverde 004fcd89e0
imp(doc): add missing Docker variables and examples (#7552)
* imp(doc): add missing Docker variables and examples

* imp(doc): segment environment variables by role

* imp(doc): use code instead of strong styling for variables

* chore: review fixes

* fix(doc): use a better example for advanced usage
2023-09-19 23:05:34 +00:00
Alfredo Garcia 920468c0a1
add elasticsearch to features flag doc (#7568) 2023-09-19 23:04:56 +00:00
Marek a652e2e257
change(doc): Refactor docs for feature flags (#7567)
* Update links in Tracing section

* Move Sentry to Tracing section

* Refactor the section on features in `README.md`

- I tried to keep only the most relevant features for users.
- I tried using links that lead to the most descriptive pages.

These changes are subjective.

* Remove the networking section from `README.md`

The network requirements are well documented in section System
Requirements in the Zebra book. The readme already points to this
section in a link in section Getting Started.

The motivation for this change is to keep the readme short.

* Update README.md

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

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2023-09-19 08:02:50 +00:00
teor 2dd57cb639
Delete documentation about fixing job timeouts (#7540) 2023-09-13 08:30:08 +00:00
Alfredo Garcia 6f503049c6
Release Zebra v1.2.0 (#7431)
* chore: Release

* change estimated release height

* add 1.2.0 changelog

* apply suggestions to changelog

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

* remove item

* change release date to today

---------

Co-authored-by: teor <teor@riseup.net>
2023-09-01 20:45:20 +00:00
Alfredo Garcia 38caaafc02
change(docs): update docs for new lightwalletd version used in Zebra (#7427)
* upgrade docs for new lightwalletd repo zebra is using now

* Update book/src/user/lightwalletd.md

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

---------

Co-authored-by: Marek <mail@marek.onl>
2023-08-30 22:30:20 +00:00