Commit Graph

375 Commits

Author SHA1 Message Date
Gustavo Valverde 284aeb7106
fix: temporarily allow forked repos to run PR workflows (#3503)
* fix(zcash-params): Do not update parameters image on PR

We should not update a direct dependency of our Docker image to be writeable by a PR from anywhere, a local branch or a fork branch, before that change has been approved by a human and merged to #main

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2022-02-10 07:31:33 -04:00
Gustavo Valverde a872f1727a
refactor(cd): improve Docker and gcloud usage without Cloud Build (#3431)
* refactor (cd): overall pipeline improvement

- Use a more ENV configurable Dockerfile
- Remove cloudbuild dependency
- Use compute optimized machine types
- Use SSD instead of normal hard drives
- Move Sentry endpoint to secrets
- Use a single yml for auto & manual deploy
- Migrate to Google Artifact Registry

* refactor (cd): overall pipeline improvement

- Use a more ENV configurable Dockerfile
- Remove cloudbuild dependency
- Use compute optimized machine types
- Use SSD instead of normal hard drives
- Move Sentry endpoint to secrets
- Use a single yml for auto & manual deploy
- Migrate to Google Artifact Registry

* refactor (cd): use newer google auth action

* fix (cd): use newer secret as gcp credential

* fix (docker): do not create extra directories

* fix (docker): ignore .github for caching purposes

* fix (docker): use latest rust

* fix: use a better name for manual deployment

* refactor (docker): use standard directories for executable

* fix (cd): most systems expect a "latest" tag

Caching from the latest image is one of the main reasons to add this extra tag. Before this commit, the inline cache was not being used.

* fix (cd): push the build image and the cache separately

The inline cache exporter only supports `min` cache mode. To enable `max` cache mode, push the image and the cache separately by using the registry cache exporter.

This also allows for smaller release images.

* fix (cd): remove unused GHA cache

We're leveraging the registry to cache the actions, instead of using the 10GB limits from Github Actions cache storage

* refactor (cd): use cargo-chef for caching rust deps

* fix (release): use newer debian to reduce vulnerabilities

* fix (cd): use same zone, region and service accounts

* fix (cd): use same disk size and type for all deployments

* refactor (cd): activate interactive shells

Use interactive shells for manual and test deployments. This allow greater flexibility if troubleshooting is needed inside the machines

* fix (docker): do not build with different settings

Compiling might be slow because different steps are compiling the same code 2-4 times because of the variations

* fix(cd): use Mainnet instead of mainnet

* fix(docker): remove tests as a runtime dependency

* fix(cd): use default service account with cloud-platform scope

* fix(cd): keep compatibility with gcr.io

To prevent conflicts between registries, and migrate when the time is right, we'll keep pushing to both registries and use github actions cache to prevent conflicts between artifacts.

* fix(docker): do not download zcash params twice

* feat(docker): add google OS Config agent

Use a separate step to have better flexibility in case a better approach is available

* fix(docker): allow to use zebrad as a command

* feat: add an image to inherit from with zcash params

* refactor(docker): use cached zcash params from previous build

* imp(cd): add double safety measure for production
2022-02-08 20:50:13 -04:00
dependabot[bot] 35222fb30f
Bump google-github-actions/setup-gcloud from 0.4.0 to 0.5.0 (#3471)
Bumps [google-github-actions/setup-gcloud](https://github.com/google-github-actions/setup-gcloud) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/google-github-actions/setup-gcloud/releases)
- [Changelog](https://github.com/google-github-actions/setup-gcloud/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google-github-actions/setup-gcloud/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: google-github-actions/setup-gcloud
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-02-08 10:37:26 +00:00
teor 6ddbe7972d
fix(mergify): put PRs with no priority label in the low priority queue (#3454)
This also lets us handle dependabot PRs using the low queue rule.
2022-02-02 02:07:33 +00:00
Gustavo Valverde 4d32f9c765
fix(mergify): restrict merges if there are unresolved reviews (#3453) 2022-02-02 00:28:59 +00:00
Deirdre Connolly 07f120a21a
Restore coverage to use latest nightly (#3450)
Fixes #3367

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-02-01 01:10:28 +00:00
Gustavo Valverde 5fa40216df
refactor (actions): make better use of variables, secrets and versions (#3393)
* style: use global variables and don't double print

Remove repeated instances of global environment variables. Do not print ENV variables on the terminal as GitHub Actions already shows it.

* fix (actions): Use fixed major versions for actions

As actions get recurrent fixes, using a specific version causes more maintance on the pipelines.

On the other hand, using @master versions could make some action unreliable, as breaking changes might be included without further notice, and even change behavior on a daily basis.

* refactor: make better use of ENV variables

A whole step with refex was being used to extract different variables from GitHub's environment. This gets depecrated in favor of using `rlespinasse/github-slug-action@v4` which has slug URL variables.

A SLUG on a variable will:
- put the variable content in lower case
- replace any character by - except 0-9, a-z, ., and _
- remove leading and trailing - character
- limit the string size to 63 characters

This changes also takes care of using the Head or Base branch for deployments. This will allow us tomerge of workflows, as most steps on this deployment actions are very similar, with little variations between workflows.

* fix (actions): use secrets for sensitive information

* revert: use specific versions for dependabot

Reverting commit 8c93409902
2022-01-26 21:46:18 -04:00
Deirdre Connolly 39fc0e27d8
Bump cd workflow timeout to 60 mins (#3412) 2022-01-26 18:45:08 +00:00
teor aef75ee9ff
fix(mergify): use low-priority queue for the correct jobs (#3406)
This fixes an inverted match condition.
2022-01-26 07:45:14 -04:00
Gustavo Valverde 15eca05370
fix (actions): add duplicated workflows with path-ignore (#3405)
GitHub does not support skipped but required checks by default, this an official workaround to allow this feature; which requires to duplicate the same workflow using path-ignore and just executing a step that will always pass, for each job.

Reference: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
2022-01-26 03:19:43 +00:00
Gustavo Valverde 6373a95405
Improve GitHub Actions checks based on files & folders (#3377)
* Segregate linting jobs from CI workflow

Lint on push to all branches, except for main, as this action will be required to merge.

Just run the lint action when a Rust file is changed, as it won't make sense to run it on other scenarios.

DRY with uneeded jobs

* Make actions dependable on changed files or folders

* Fix & add missing paths

* Revert changes removing cargo.lock and deny.toml checks

Also refactor this to use a more redable and change prone cargo-deny-action. And move this actions out of the clippy-deps job, as this are more related to CI than linting.

* Fix wrong indentation

* Add new configuration file from #3386

* Do not fail on licenses as this configuration is missing

* Do not add advisories features

Add advisories checks in a different PR

* Allow tests and coverage on PR series

If we only run CI on branches that are going to merge to main, then PR series become a lot harder to test. (Because each PR is based on the previous PR, not main.)
2022-01-25 07:58:11 -04:00
Conrado Gouvea 4aeabd0b52
Fix interstitial sprout anchors check (#3283)
* Fix interstitial Sprout anchors check

* Update state docs; add sprout_trees_by_anchor to comparisons

* Update book/src/dev/rfcs/0005-state-updates.md

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

* Rename `interstitial_roots` to `interstitial_trees`

* Document consensus rules

* Refactor the docs

* Improve the docs for consensus rules

* Update reference to cached state

* Update zebra-state/src/service/check/anchors.rs

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>

* Fix formatting

Co-authored-by: Marek <mail@marek.onl>
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-18 20:18:49 +00:00
Conrado Gouvea 9b9e49953e
Use 2022-01-14 nightly to workaround coverage issue https://github.com/taiki-e/cargo-llvm-cov/issues/128 (#3366) 2022-01-18 19:31:09 +00:00
Gustavo Valverde ee9f081dd5
Do not update PRs to the latest tip automatically (#3351)
This causes the Mergify bot to commit to each PR, being also included in the squashed merge as an author.

As the queue merges the head branch (main) to latest tip before testing with the CI, having all those feature branches constantly updating with Mergify is not needed
2022-01-14 11:26:55 -05:00
Gustavo Valverde dc4533d368
Use the correct conditions and merge method in Mergify (#3341)
* fix: Use the correct conditions and merge method

Mergifys Status Checks conditions are based on the job name, not the worflow name. As our worflows have dynamic names, each variant must be considered.

Squash merges are the default being used in the Zebra repo, so mergify must comply with this configuration.

Use condition operators for labels in each pull request rule; previously it was expecting both labels to be set. And update names accordingly.

* fix: Allow mergify to merge dependabot PRs

Also adapt dependabot's configuration to use the recently adapted labels

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-13 23:34:09 +00:00
Gustavo Valverde fc1a1cdac1
Add mergify merging queues (#3324)
* Add mergify merging queues

* Fix Mergify invalid configuration

* Improve adaptability to the actual workflow

Do not merge if the pull-request test is not green. Do not move draft PRs to the queue. And update keep all open PRs updated.

* Fix a typo on check-success condition
2022-01-07 19:11:01 -05: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
dependabot[bot] 5543b9b6bc
Bump EmbarkStudios/cargo-deny-action from 1.2.6 to 1.2.9 (#3163)
Bumps [EmbarkStudios/cargo-deny-action](https://github.com/EmbarkStudios/cargo-deny-action) from 1.2.6 to 1.2.9.
- [Release notes](https://github.com/EmbarkStudios/cargo-deny-action/releases)
- [Commits](https://github.com/EmbarkStudios/cargo-deny-action/compare/v1.2.6...v1.2.9)

---
updated-dependencies:
- dependency-name: EmbarkStudios/cargo-deny-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-07 11:08:51 +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
Marek 3c9ad89018
Add Sprout anchors to `zebra-state` (#3100)
* Add Sprout anchors to the state

* Update zebra-state/src/service/non_finalized_state/chain.rs

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>

* Return new types of note commitments from Sprout transactions

* Refactor the tests

* Refactor some comments

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

* Increment `DATABASE_FORMAT_VERSION`

* Update `test.yml` with the new image name

* Refactor the `version = 5` transaction description

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>

* Update comment

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
Co-authored-by: teor <teor@riseup.net>
2021-11-30 11:05:58 +01:00
teor 0ef4629232
Automatically download and load sprout parameters (#3085)
* Download and load Sprout parameters using zcash_proofs

Also update some librustzcash dependencies, to avoid duplicate dependencies.

* Update upstream orchard to avoid a compilation error

* Skip librustzcash batch refactor for now, to avoid compilation errors

* Change the cache ID, so we actually cache Sprout

* Move existing file checks into zcash_proofs

* Add a 1 hour timeout to parameter file downloads

* Give other tasks priority, before spawning the download task

* Update to the latest version of our modified librustzcash fork

* Change the cache key for Sprout

* Add 40 minutes to CI timeouts for occasional sprout downloads

* Update to zcash_proofs with split downloads

* Check file sizes to help debug parameter load failures in zcash_proofs

* Start the second download once the first has finished in zcash_proofs

* Document the parameter download task

* Stop hashing existing files twice
2021-11-25 13:26:32 -03:00
teor e054d57622
Speed up CI, and split unrelated and conflicting CI jobs (#3077)
* Move dependency checks to the clippy job

* Split the fake activation heights into their own job

* Fix expected types

* Minimise proptest cases on Windows, macOS, and coverage

We don't expect proptests to fail on different platforms.
2021-11-22 14:26:07 -03:00
teor f7202bfbc0
Download Zcash Sapling parameters and load them from cached files (#3057)
* Replace Zcash parameters crates with pre-downloaded local parameter files

* Download Zcash parameters using the `zcashd` script in CI and Docker

* Add a zcash_proofs dependency to zebra-consensus

* Download Sapling parameters using zcash_proofs, rather than fetch-params.sh

* Add a new `zebrad download` subcommand

This command isn't required for nomrmal usage.
But it's useful when testing, or launching multiple Zebra instances.

* Use `zebrad download` in CI to pre-download parameters

* Log a helpful hint if downloading fails

* Allow some duplicate dependencies currently hidden by orchard

* Spawn a separate task to download Groth16 parameters

* Run the parameter download with code coverage

This avoids re-compining Zebra with and without coverage.

* Update Cargo.lock after rebase

* Try to pass `download` as an argument to `zebrad` in coverage CI

* Fix copy and paste comment typos

* Add path and download examples, like zcash_proofs

* Download params in CI just like zcash_proofs does

* Delete a redundant build step

* Implement graceful shutdown for zebrad start

* Send coverage summary to /dev/null when getting the params path

* Use the correct parameters path and download commands in CI

* Explain pre-downloads

* Avoid calling params_folder twice

* Rename parameter types and methods for consistency

```sh
fastmod SaplingParams SaplingParameters zebra*
fastmod Groth16Params Groth16Parameters zebra*
fastmod PARAMS GROTH16_PARAMETERS zebra*
fastmod params_folder directory zebra*
```

And a manual variable name tweak.

* rustfmt

* Remove a redundant coverage step

Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>
2021-11-19 23:02:56 +00:00
dependabot[bot] bdf5f70557
Bump actions/checkout from 2.3.5 to 2.4.0 (#3009)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.5...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: teor <teor@riseup.net>
2021-11-05 15:08:39 +10:00
Janito Vaqueiro Ferreira Filho 0960e4fb0b
Update to Tokio 1.13.0 (#2994)
* Update `tower` to version `0.4.9`

Update to latest version to add support for Tokio version 1.

* Replace usage of `ServiceExt::ready_and`

It was deprecated in favor of `ServiceExt::ready`.

* Update Tokio dependency to version `1.13.0`

This will break the build because the code isn't ready for the update,
but future commits will fix the issues.

* Replace import of `tokio::stream::StreamExt`

Use `futures::stream::StreamExt` instead, because newer versions of
Tokio don't have the `stream` feature.

* Use `IntervalStream` in `zebra-network`

In newer versions of Tokio `Interval` doesn't implement `Stream`, so the
wrapper types from `tokio-stream` have to be used instead.

* Use `IntervalStream` in `inventory_registry`

In newer versions of Tokio the `Interval` type doesn't implement
`Stream`, so `tokio_stream::wrappers::IntervalStream` has to be used
instead.

* Use `BroadcastStream` in `inventory_registry`

In newer versions of Tokio `broadcast::Receiver` doesn't implement
`Stream`, so `tokio_stream::wrappers::BroadcastStream` instead. This
also requires changing the error type that is used.

* Handle `Semaphore::acquire` error in `tower-batch`

Newer versions of Tokio can return an error if the semaphore is closed.
This shouldn't happen in `tower-batch` because the semaphore is never
closed.

* Handle `Semaphore::acquire` error in `zebrad` test

On newer versions of Tokio `Semaphore::acquire` can return an error if
the semaphore is closed. This shouldn't happen in the test because the
semaphore is never closed.

* Update some `zebra-network` dependencies

Use versions compatible with Tokio version 1.

* Upgrade Hyper to version 0.14

Use a version that supports Tokio version 1.

* Update `metrics` dependency to version 0.17

And also update the `metrics-exporter-prometheus` to version 0.6.1.
These updates are to make sure Tokio 1 is supported.

* Use `f64` as the histogram data type

`u64` isn't supported as the histogram data type in newer versions of
`metrics`.

* Update the initialization of the metrics component

Make it compatible with the new version of `metrics`.

* Simplify build version counter

Remove all constants and use the new `metrics::incement_counter!` macro.

* Change metrics output line to match on

The snapshot string isn't included in the newer version of
`metrics-exporter-prometheus`.

* Update `sentry` to version 0.23.0

Use a version compatible with Tokio version 1.

* Remove usage of `TracingIntegration`

This seems to not be available from `sentry-tracing` anymore, so it
needs to be replaced.

* Add sentry layer to tracing initialization

This seems like the replacement for `TracingIntegration`.

* Remove unnecessary conversion

Suggested by a Clippy lint.

* Update Cargo lock file

Apply all of the updates to dependencies.

* Ban duplicate tokio dependencies

Also ban git sources for tokio dependencies.

* Stop allowing sentry-tracing git repository in `deny.toml`

* Allow remaining duplicates after the tokio upgrade

* Use C: drive for CI build output on Windows

GitHub Actions uses a Windows image with two disk drives, and the
default D: drive is smaller than the C: drive. Zebra currently uses a
lot of space to build, so it has to use the C: drive to avoid CI build
failures because of insufficient space.

Co-authored-by: teor <teor@riseup.net>
2021-11-02 18:46:57 +00: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
teor 9963471b7c
Check for duplicate crate dependencies in CI (#2986)
* Add default deny.toml for "cargo deny check bans"

`cargo deny init`

* Delete unused "cargo deny" config entries

Also cleanup trailing whitespace.

* Deny duplicate crates and unexpected crate sources

Allow the current set of duplicates and sources,
with references to the tickets that will fix them.

* Check for duplicate dependencies in CI

Also check for:
- unexpected crate sources
- outdated Cargo.lock
  (required for accurate duplicate and source checks)

* Revert CI name changes so required statuses pass

* Fix ticket for sentry-tracing
2021-11-01 21:19:22 +00:00
Deirdre Connolly 0381c2347b
ZIP-401: weighted random mempool eviction (#2889)
* ZIP-401 weighted random mempool eviction

* rename zcash.mempool.total_cost.bytes to zcash.mempool.cost.bytes

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

* Remove duplicated lines

* Add cost() method to UnminedTx

Update serialization failure messages

* More docs quoting ZIP-401 rules

* Change mempool::Storage::new() to handle Copy-less HashMap, HashSet

* mempool: tidy cost types and evict_one()

* More consensus rule docs

* Refactor calculating mempool costs for Unmined transactions

* Add a note on asympotic performance of calculating weights of txs in mempool

* Bump test mempool / storage config to avoid weighted random cost limits

* Use mempool tx_cost_limit = u64::MAX for some tests

* Remove failing tests for now

* Allow(clippy::field-reassign-with-default) because of a move on a type that doesn't impl Copy

* Fix mistaken doctest formatting

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>

* Increase test timeout for Windows builds

Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
2021-10-27 00:21:19 +00:00
Deirdre Connolly 52357f7522
Remove dconnolly as default assignee and reviewer on dependabot PRs, and make them low priority (#2951)
* Remove dconnolly as default assignee and reviewer on dependabot PRs

* Assign dependabot PRs low priority by default

Co-authored-by: teor <teor@riseup.net>
2021-10-26 00:22:51 +00:00
teor 35290db052
Only run fake activation heights tests on zebra-state (#2929)
Also only run the zebrad acceptance tests on macOS.

Re-running the compiler and test binaries for unused crates is slow in CI.

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2021-10-21 23:51:20 +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
dependabot[bot] 0b25257bef
Bump actions/checkout from 2.3.4 to 2.3.5 (#2898)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.3.5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: teor <teor@riseup.net>
2021-10-19 04:03:10 +00:00
dependabot[bot] d307d43e19 Bump codecov/codecov-action from 2.0.3 to 2.1.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.3 to 2.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.3...v2.1.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-13 15:14:19 -04:00
Deirdre Connolly 0e60936ad3
Restore coverage (#2684)
* Update coverage workflow

* Remove cache layer, up timeout to 60 minutes anyway
2021-08-27 11:03:40 -04: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
Conrado Gouvea bc4194fcb9
ZIP-221/244 auth data commitment validation in checkpoint verifier (#2633)
* Add validation of ZIP-221 and ZIP-244 commitments

* Apply suggestions from code review

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

* Add auth commitment check in the finalized state

* Reset the verifier when comitting to state fails

* Add explanation comment

* Add test with fake activation heights

* Add generate_valid_commitments flag

* Enable fake activation heights using env var instead of feature

* Also update initial_tip_hash; refactor into progress_from_tip()

* Improve comments

* Add fake activation heights test to CI

* Fix bug that caused commitment trees to not match when generating partial arbitrary chains

* Add ChainHistoryBlockTxAuthCommitmentHash::from_commitments to organize and deduplicate code

* Remove stale comment, improve readability

* Allow overriding with PROPTEST_CASES

* partial_chain_strategy(): don't update note commitment trees when not needed; add comment

Co-authored-by: teor <teor@riseup.net>
2021-08-23 14:17:33 +00:00
Conrado Gouvea f6416ff8ee
Update to cache v10 (#2644) 2021-08-19 17:33:22 +00:00
Conrado Gouvea 4014e0fec8
Attempt to fix test.yml (#2635)
* Only use -t flag to docker run, set SSH keep alive

* Remove SSH flag for now

* Add ssh flag back to test.yml gcloud compute ssh command

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2021-08-16 19:02:39 -04:00
Conrado Gouvea 32e1237df8
Update cache to v9 (#2598)
* Update cache to v9

* Update state disk image

* Rename

* Remove ending semicolon for remote commands

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2021-08-11 17:11:59 -04:00
Deirdre Connolly 21d71a651e
Merge pull request #2601 from ZcashFoundation/dconnolly-patch-1
Sync to, not past, activation for regenerate-stateful-test-disks.yml
2021-08-11 12:15:22 -04:00
teor e2a3a38047
Disable Rust beta tests in CI, due to a rust bug (#2542) 2021-07-29 13:02:12 +10:00
teor 5684667a31
Update to google-github-actions/setup-gcloud in workflows (#2533)
* Update to google-github-actions/setup-gcloud in workflows

See https://github.com/google-github-actions/setup-gcloud#use-google-github-actionssetup-gcloud

* Also update the Google Cloud test workflow

* Also update regenerate stateful test disks

* Also update Manual Deploy

* Also update zcashd deploy
2021-07-27 12:13:04 -04:00
teor c8305fba1f
Stop using the wrong name for the coverage action (#2453)
Previously the action was called "CI", which could be confusing.
2021-07-07 11:36:54 -03: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
teor 4c321f6fa1 Skip IPv6 network tests in google cloud workflows
Also consistently use the zebra-test:latest docker image.
2021-06-28 23:34:57 -04:00
teor efb2ffbf33 Stop ignoring failed cached state tests
Previously, Zebra's cached state workflows would run all of Zebra's
tests, but they would ignore the results for most tests. They would only
fail if the mainnet cached state test failed.

After this fix, the tests fail if any test or build step fails.
2021-06-28 23:34:57 -04:00
teor 17e94bd241
Stop skipping the cached sync tests in CI (#2402)
This is a bugfix on PR #2314, which changed the name of the test
function in the code, but didn't change the CI workflow.
2021-06-29 12:49:42 +10:00
teor 22f2f06bad
Remove "solution" from the ticket template (#2385)
We want developers to do detailed designs and solutions in
RFCs and code comments, rather than tickets.
2021-06-24 10:43:27 +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
Alfredo Garcia 544d182d25
Add and use a function for mandatory checkpoint (#2314)
* add `mandatory_checkpoint_height()` function

* use mandatory checkpoint instead of canopy in acceptance tests
2021-06-18 10:05:28 +10:00
Deirdre Connolly ea15ad1131
Use Swatinem/rust-cache@v1 (#2291) 2021-06-15 11:36:33 +10:00
Deirdre Connolly 28c3a23f14
Replace bespoke source-based coverage config with cargo-llvm-cov (#2286)
* Replace bespoke source-based coverage config with cargo-llvm-cov

* Keep incremental builds disabled

* Use cargo-llvm-cov ^0.1.0-alpha.4

Co-authored-by: teor <teor@riseup.net>
2021-06-15 11:35:26 +10:00
teor 0b4f32a324 Maybe GitHub actions doesn't like the variable substitution 2021-06-14 20:24:37 -04:00
teor 130e348b0f Use a different name for clippy job and results 2021-06-14 20:24:37 -04:00
teor 0a34d506cf CI: Remove duplicate Clippy job name
Naming the job and the task makes it show up twice
2021-06-14 20:24:37 -04:00
Deirdre Connolly 71b41f0206 cargo install mdbook 2021-06-14 17:12:31 -04:00
Deirdre Connolly 45cbfa8e67 Upgrade mdbook to 0.4.10 2021-06-14 17:12:31 -04:00
teor 53e50821ec Remove outdated pinned nightly in coverage workflow
nightly-2021-03-24 is incompatible with semver 1.0.2.
2021-06-09 16:10:47 -04:00
dependabot[bot] aac0b5d60f build(deps): bump codecov/codecov-action from 1.5.0 to 1.5.2
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1.5.0 to 1.5.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.5.0...v1.5.2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-09 15:55:36 -04:00
Deirdre Connolly 8b5b367c8a
Create workflow to regenerate cached state disks for tests (#2247)
* Create workflow to regenerate cached state disks for tests

* Mount testnet disk
2021-06-07 13:14:30 +10:00
Deirdre Connolly 584f35ce68 Update test job to use the updated state 2021-06-04 15:14:11 -04: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 dd7747bc69
Security: Remove checkout credentials from GitHub actions (#2158)
* Remove checkout credentials from CD action
* Remove checkout credentials from CI action
* Remove checkout credentials from coverage action
* Remove checkout credentials from docs action
* Remove checkout credentials from manual deploy action
* Remove checkout credentials from test action
* Remove checkout credentials from zcashd action
2021-05-17 09:32:38 +10:00
dependabot[bot] 2ea1d8624d
build(deps): bump codecov/codecov-action from 1 to 1.5.0 (#2142)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 1.5.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v1.5.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-12 22:12:49 +00:00
dependabot[bot] 300ce12a29
build(deps): bump actions-rs/cargo from 1 to 1.0.3 (#2140)
Bumps [actions-rs/cargo](https://github.com/actions-rs/cargo) from 1 to 1.0.3.
- [Release notes](https://github.com/actions-rs/cargo/releases)
- [Changelog](https://github.com/actions-rs/cargo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/actions-rs/cargo/compare/v1...v1.0.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 07:54:02 +10:00
dependabot[bot] 48657506c5
build(deps): bump actions-rs/clippy-check from 1 to 1.0.7 (#2141)
Bumps [actions-rs/clippy-check](https://github.com/actions-rs/clippy-check) from 1 to 1.0.7.
- [Release notes](https://github.com/actions-rs/clippy-check/releases)
- [Changelog](https://github.com/actions-rs/clippy-check/blob/master/CHANGELOG.md)
- [Commits](https://github.com/actions-rs/clippy-check/compare/v1...v1.0.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 07:52:10 +10:00
dependabot[bot] e4ed072c28
build(deps): bump actions/checkout from 2 to 2.3.4 (#2143)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 2.3.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v2.3.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 07:51:12 +10:00
teor f8693ee004
Explain how to review version bump PRs (#2138) 2021-05-12 10:42:48 +02:00
teor f33db69267 Remove broken ci-success check
Previously, Zebra made ci-success a required check for merges to main. And then we made ci-success depend on a bunch of other CI checks.

But this doesn't work as expected, because if the dependent checks fail, ci-success is skipped, and the branch protection rules allow the branch to be merged to main.
2021-04-29 18:28:47 -04:00
teor 7e395298f1 Just run builds on ubuntu stable
But keep the tests across ubuntu, macOS, Windows x Rust stable, beta
2021-04-30 07:35:46 +10:00
teor d0e6597fec Use minimal cargo components in docs workflow 2021-04-30 07:35:46 +10:00
teor ea4d3b23f9 Use minimal cargo components in CI 2021-04-30 07:35:46 +10: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
Kirill Fomichev fb799b202c
Update dependencies to support Apple M1, fix Windows CI LLVM paths (#2026)
* build(deps): update for Apple M1

* fix ci

* bump rocksdb

* bump zcash_script
2021-04-19 20:39:24 +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 a5ff0e983b Pin coverage.yml nightly to 2021-03-24 for now 2021-03-26 11:24:16 -04:00
teor ee0fc35380
Increase coverage CI timeout (#1947)
Since coverage uses nightly, it can be slightly slower than other CI.
2021-03-26 09:47:14 +10:00
Deirdre Connolly 33e9efe2dd
Mention git diff --stat in release PR template (#1934) 2021-03-23 14:39:12 +10:00
Deirdre Connolly 4aedf08a95
Merge pull request #1927 from ZcashFoundation/ci
Add final job to ci.yml that passes when all other ci.yml jobs pass
2021-03-20 23:57:13 -04:00
Deirdre Connolly 5791ee3339 Sync _from_ canopy, not _to_, now that we have state 2021-03-20 19:34:33 -04:00
Deirdre Connolly bbdecbe9ad Update mainnet stateful sync tests to use new disk image
Leave testnet commented out until testnet disk image is ready.
2021-03-20 19:34:33 -04:00
Deirdre Connolly 9b2090b4a1 Update test.yml 2021-03-20 19:34:33 -04:00
Deirdre Connolly a091f63c79 Generate Canopy activation disks 2021-03-20 19:34:33 -04:00
teor c57baad7e8
Merge pull request #1923 from ZcashFoundation/coverage-no-incremental
Disable incremental compilation in coverage builds to avoid disk space errors.
2021-03-19 11:33:25 +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
teor 74cc30c307 Change the cached sync tests to canopy
This change requires a cached state rebuild. The rebuilt state will be
significantly larger.
2021-03-18 10:13:47 +10:00
Deirdre Connolly 159d5a22f2 auto-delete manual deploy disks
If you need to keep them from being deleted, you can update them manually from the gcloud console, as the instance will not be deleted automatically.
2021-03-06 01:54:00 -05:00
Deirdre Connolly b29294b4ee Explicitly auto-delete additional cache disks
This property is supposedly set to 'true' by default, but we are still leaving disks behind. 
Perhaps because: "...if the disk is later detached from the instance, this option won't apply."
https://cloud.google.com/sdk/gcloud/reference/compute/instance-templates/create-with-container#--disk

Resolves #1845
2021-03-06 01:54:00 -05:00
Deirdre Connolly 5b1a0b8658 Update and rename zcashd-cd.yml to zcashd-manual-deploy.yml
And rename the job name
2021-03-05 23:53:51 -05:00
Deirdre Connolly c2e42d06d2 Fix grep in zcashd-cd.yml 2021-03-05 23:48:17 -05:00
Deirdre Connolly 8f9e993fab Fix grep now that `gcloud compute instance-groups list` has more than one result 2021-03-05 23:48:17 -05:00
Jane Lusby db52d63b86 change machine type to one available in central region 2021-03-05 23:20:05 -05:00
Jane Lusby 3e60f9064f fix bash syntax error 2021-03-05 23:20:05 -05:00
Jane Lusby 418d4ce9ce Apply suggestions from code review
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2021-03-05 23:20:05 -05:00
Jane Lusby 42c5a7559e Add manual deploy workflow for zcashd images 2021-03-05 23:20:05 -05:00
Alfredo Garcia d8165ccb4d Apply suggestions from code review
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2021-03-03 18:06:00 -05:00
Alfredo Garcia 97f400ff96 remove redundant step 2021-03-03 18:06:00 -05:00
Alfredo Garcia efba34786c re-enable docs CI with different firebase project IDs 2021-03-03 18:06:00 -05: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
Pili Guerra 9e6db31db0
Add Usability Testing Plan template to the list of issue templates (#1519) 2021-02-19 10:53:11 +01:00
teor a445cfbd55
Set ZEBRA_SKIP_NETWORK_TESTS using Windows syntax (#1782)
Use Powershell syntax to set ZEBRA_SKIP_NETWORK_TESTS on Windows.

Also skip the entire large sync test step on Ubuntu and
Windows, because the tests are skipped anyway due to
ZEBRA_SKIP_NETWORK_TESTS. This saves some 
compilation time.
2021-02-19 19:36:32 +10:00
teor 535e9d0234
Disable failing docs workflow (#1787) 2021-02-19 19:35:46 +10:00
Alfredo Garcia a9e4768d35 remove fail-fast from test job 2021-02-19 18:03:07 +10:00
Deirdre Connolly 7665c6792e Fix the yaml indentation for the docs.yml workflow
Gotta love yaml.
2021-02-18 22:50:48 -05:00
Alfredo Garcia c8823e9552 change coverage to run on ubuntu-latest 2021-02-16 19:43:36 -05:00
Alfredo Garcia 280496ef4e bring coverage and docs back into CI 2021-02-16 19:43:36 -05:00
teor 47bcf6309a
Show env vars in CI (#1751)
And standardise how we set them
2021-02-17 08:04:00 +10:00
teor c9ca601cff Revert "Change skip network test name and comments"
This reverts commit f85006a798.
2021-02-16 12:50:14 -05:00
Deirdre Connolly 9493391a2a CI: bump build and test timeouts to 60 minutes 2021-02-16 12:47:35 -05:00
Deirdre Connolly 26aded0ef9 Run CI workflow on push to #main & manual request
We used to always run the CI workflow on push/merge to #main and at some point stopped; 
we still link to the status of this workflow on #main from our README. I think we should bring it back.
Also allows manual triggering of the workflow, which can come in handy if you are working
on a branch but haven't opened a PR yet.
2021-02-15 21:19:57 -05:00
Alfredo Garcia 366f239974
Resolve Windows CI disk space issues (#1726)
* remove windows conditional
* fully separate tests from large tests
* add rust beta to new large test jobs
* increase build time for windows
* disable cargo increment
2021-02-16 09:44:49 +10:00
Alfredo Garcia f85006a798 Change skip network test name and comments 2021-02-15 14:54:32 -05:00
Alfredo Garcia a4d8b16213 fix title 2021-02-11 15:51:31 -05:00
Alfredo Garcia 49b23d0bbe add rust beta to zebra-chain building job 2021-02-11 15:51:31 -05:00
Alfredo Garcia 33af7130dc Apply suggestions from code review
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2021-02-11 15:51:31 -05:00
Alfredo Garcia 8c48ad6846 add rust version names to jobs 2021-02-11 15:51:31 -05:00
Alfredo Garcia 58a73c5626 add beta rust to test jobs 2021-02-11 15:51:31 -05:00
Alfredo Garcia de78fcf0f6 try a matrix for rust stable and beta 2021-02-11 15:51:31 -05:00
Alfredo Garcia 43ff80f28f try a CI build with beta rust 2021-02-11 15:51:31 -05: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
teor bf42e468fc Temporarily disable failing docs CI 2021-02-05 07:50:46 +10:00
teor 69088545d9 Temporarily disable failing coverage CI 2021-02-05 07:50:46 +10:00
Deirdre Connolly f805d2c8ab Specify v5, not 'latest' 2021-01-29 17:38:46 -05:00
Deirdre Connolly 018fa2ff62 Enable Release Drafter workflow 2021-01-29 17:33:38 -05:00
Alfredo Garcia 6fd5b2db30
Temporally disable sync_large_checkpoints on Windows (#1658)
* temporally disable sync_large_checkpoints from CI

* Allow large checkpoint sync tests only on ubuntu and macOS

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2021-01-29 17:29:32 -05:00
Alfredo Garcia 374f9400d0 cleanup: remove duplicated isolated test from ci 2021-01-27 12:19:48 -08:00
Deirdre Connolly a21eaad707 Use mdbook 0.4.5
https://blog.rust-lang.org/2021/01/04/mdbook-security-advisory.html
2021-01-08 21:24:31 -05:00
Deirdre Connolly 3266265f7f Update testnet sync test 2020-12-16 20:36:31 -05:00
Deirdre Connolly e004d40ac1 Update cached state to @419200 on mainnet, not past it 2020-12-16 17:03:50 -05:00
Deirdre Connolly fbca3c7434 Remove testnet --container-mount-disk for now 2020-12-16 14:45:07 +10:00
Deirdre Connolly 4d387efe1d Disable tesnet post-Sapling sync tests for now 2020-12-16 14:45:07 +10:00
Deirdre Connolly 93b91769d6 Update stateful disks for post-Sapling-activation sync tests 2020-12-16 14:45:07 +10:00
Alfredo Garcia 7468dae88d
add commands and logs section to bug template (#1506)
* add commands and logs section to bug template

Co-authored-by: teor <teor@riseup.net>
2020-12-15 07:45:10 +10:00
Deirdre Connolly 8f58c41a38
Pipe SHORT_SHA into container builds (#1451) 2020-12-03 22:51:42 -05:00
Jane Lusby c64d8dc8aa
switch to source based coverage (#1293)
* switch to new llvm source based coverage

* upload artifact and simplified

* filter out irrelevant dependency coverage

* enable the correct filters on coverage

* correctly specify all binaries

* remove sparse flag from coverage

* update the coverage script organization

* fix typo in coverage script
2020-12-03 13:36:40 -08:00
Deirdre Connolly 5c465abed2 Remove timeout on test job 2020-11-24 22:14:37 -05:00
Deirdre Connolly 487ee6d317 Use cloud disk default of auto-delete=true 2020-11-24 11:04:30 -05:00
Deirdre Connolly e6210caffb Create and mount another state cache for Sapling activation on testnet and use for running sync_past_sapling_testnet 2020-11-24 11:04:30 -05:00
Deirdre Connolly 3c9b7927a5 Run sync_past_sapling_mainnet, not sync_to_sapling_mainnet 2020-11-24 11:04:30 -05:00
Deirdre Connolly cf82560538 Reference correct disk name when mounting in container 2020-11-24 11:04:30 -05:00
Deirdre Connolly 466b9ea303 Not a tty 2020-11-24 11:04:30 -05:00
Deirdre Connolly 6dab76bc36 Avoid disk naming collisions 2020-11-24 11:04:30 -05:00
Deirdre Connolly 4a67e0e7bb Enable stateful/long sync tests by features, mount rocksdb-based state at Sapling activation for sync_past_sapling_mainnet test 2020-11-24 11:04:30 -05:00
Jane Lusby b96ca38d1c fix args issue 2020-11-24 11:04:30 -05:00