Commit Graph

659 Commits

Author SHA1 Message Date
Alfredo Garcia c8e6f5843f
Update RFC template (#1278)
* update rfc template
* change pull to issues
2020-11-17 11:10:21 +10:00
Deirdre Connolly 2b8d696221
Better naming workflows (#1301)
* Better workflow names

* We run zebrad
2020-11-15 01:17:46 -05:00
Deirdre Connolly bb99a5aa2a Linewrap 2020-11-14 23:19:31 -05:00
Deirdre Connolly 477eac7f19 Properly use Dockerfile ARG values 2020-11-14 22:31:38 -05:00
Deirdre Connolly 7023465d91 Pass in workflow inputs for network and checkpoint_sync (with defaults) all the way down 2020-11-14 22:31:38 -05:00
Deirdre Connolly 1a1240a943 Rearrange some deploy flags 2020-11-14 22:31:38 -05:00
Deirdre Connolly 472163f817 Add a manual zebrad node deploy workflow 2020-11-14 22:31:38 -05:00
Deirdre Connolly 8b5b1b49cc
Run acceptance tests post-merge with large cached state (#1282)
* Create and mount persistent disk to store zebrad state, update runner container config to use

* Enable checkpoint sync in zebrad image config

* Lower state memory cache from 500MB to 50MB

* Upgrade host to n2-standard-4

* Bump zebrad-cache disk size to 100GB

* Copy zebrad as the tests are compiled with a hardcoded path to it

* Rename all debug binaries for easy invocation

* Name state cache disk, use the correct path to binaries

* Create volume and all that jazz on instance creation

Otherwise there's a lot of on-instance commands to do that is just handled by this shortcut.

* Explicitly mount the state cache and cleanup test instance

* Wait for zebra-test container to start then attach

* Always clean up even if the tests step fails

* Keep fast sleep but only print 'waiting' once
2020-11-12 15:18:35 -05:00
Deirdre Connolly 95fce3ad68 Pin the version of tarpaulin used for collecting coverage to 0.16.0
0.17.0 has a bug that causes segfaults:
https://github.com/xd009642/tarpaulin/issues/618
2020-11-12 00:51:38 -05:00
dependabot[bot] 44e6023434 build(deps): bump w9jds/firebase-action from v1.5.0 to v2.0.0
Bumps [w9jds/firebase-action](https://github.com/w9jds/firebase-action) from v1.5.0 to v2.0.0.
- [Release notes](https://github.com/w9jds/firebase-action/releases)
- [Commits](https://github.com/w9jds/firebase-action/compare/v1.5.0...0a5173f97c956332c9e71750526e0ca6f38cbe3a)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-09 08:40:03 -05:00
teor adbd338d6d
Add Review and Follow Up to PR Template (#1235)
* Add review guidelines to the default PR template

* Apply suggestions

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

* Add a Follow Up Work section to the PR template

* Mention design RFCs in the PR template

* Put key PR review questions in bold

* Tweak PR review "skip task" process

* Update .github/pull_request_template.md

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

* Shorter alternative pull request template

Add Review and Follow Up sections
Add a checklist for documentation and tests

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-10-30 14:42:04 -07:00
teor ea510b7d41
Run a block sync in CI with 2 large checkpoints (#1193)
* Run large checkpoint sync tests in CI
* Improve test child output match error context
* Add a debug_stop_at_height config
* Use stop at height in acceptance tests

And add some restart acceptance tests, to make sure the stop at
height feature works correctly.
2020-10-27 19:25:29 +10:00
Deirdre Connolly 9490fc6a3a Force Clippy nightly lints to all warn, never error 2020-10-27 00:09:39 -04:00
teor a5a86622d4
Add team approval to the RFC pull request template (#1178) 2020-10-21 11:36:23 -07:00
teor b4f92adc40 Disable sync tests on Windows CI 2020-10-21 00:58:08 -04:00
teor 0343e28d3a Disable sync test on ubuntu CI runners
They don't seem to have DNS or network configured during the tests.

Also make capitalisation of step names consistent.
2020-10-21 00:58:08 -04:00
Deirdre Connolly 5df0ff4086 Add Clippy (stable) job and continue-on-error Clippy (nightly) job
Do not pass -- -D warnings to the Clippy (nightly) job

We do _not_ want the nightly job to fail on warnings.

Resolves #1156
2020-10-20 01:03:43 -04:00
dependabot[bot] 0856e5d654 build(deps): bump codecov/codecov-action from v1.0.13 to v1.0.14
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.13 to v1.0.14.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.13...7d5dfa54903bd909319c580a00535b483d1efcf3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-19 10:59:44 -04:00
teor 8def574bc2 Activate the standard pull request template by default
Non-default pull request templates can be used via the CLI,
or a URL query parameter:
https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/about-automation-for-issues-and-pull-requests-with-query-parameters
2020-10-17 17:20:41 -04:00
Deirdre Connolly 10da2873fd Set timeout-minutes per job 2020-10-12 18:39:33 -04:00
Deirdre Connolly 686071e023 Default all GitHub Actions jobs to timeout at 30 minutes
Resolves #1142
2020-10-12 18:39:33 -04:00
Jane Lusby 0b4e974c9e
export proptest impls for use in downstream crates (#1092)
* export proptest impls for use in downstream crates

* add testjob for disabled feature in zebra-chain

* run rustfmt

* try to fix github actions syntax

* differentiate name

* prove that github action tests zebra-chain build without features

* revert change from last commit now that test is running

* remove accidentally introduced newline

* Update .github/workflows/ci.yml

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

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2020-09-23 18:52:52 -07:00
Deirdre Connolly 6b88479480 Run CI workflow jobs on every PR, just like Cloud Build 2020-09-10 14:26:27 -04:00
Deirdre Connolly f967e29d13
Move coverage step to common workflow for PRs and pushes to main (#984)
So we can consistently collect coverage data on the default branch, which CodeCov needs
to compare branch coverage and line data against.
2020-09-01 13:47:34 -07:00
Henry de Valence d25cc20319 refer to CONTRIBUTING.md in rfc template 2020-08-31 00:58:50 -04:00
Henry de Valence 43c9441a73 Update .github/PULL_REQUEST_TEMPLATE/pull_request.md
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2020-08-31 00:58:50 -04:00
Henry de Valence b212becb67 Add issue and PR templates, document RFC process 2020-08-31 00:58:50 -04:00
Alfredo Garcia 780e675517 change env syntax 2020-08-24 14:57:01 -04:00
Alfredo Garcia 6dd859e0cf add RUST_BACKTRACE to CI tests 2020-08-24 14:57:01 -04:00
Jane Lusby 1d6183ef84
Make zebra-script wrap the C++ script implementation in zcashconsensus (#708)
* attempt to use zcashconsensus crate in zebra-script

* boop

* update verify fn to use zebra types

* a bit more cleanup

* cleanup

* more

* beep boop

* fix renamed member

* cleaning

* get a real branch id

* remove as of yet unneeded api

* Update zebra-chain/src/transaction.rs

* Update zebra-chain/src/transaction.rs

* more cleanup

* oops wrong dep section

* use a tuple to communicate arg association

* update to use published version of zcash_script

* fix new compiler error

* install llvm on windows

* fix bindgen bug????

* try to get docker file to win

* okay try everything

* fix windows build maybe

* always download choco

* fix paths for moved types

* try a different error message

* try convenience script

* try installing just llvm

* add back one more

* try installing some headers

* try a diff package

* try everything

* remove the minimum

* try newer docker builder image

* cleanup docker image

* cleanup extra ci step
2020-08-18 11:08:53 -07:00
dependabot[bot] e67d3fc5e3 build(deps): bump codecov/codecov-action from v1.0.12 to v1.0.13
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.12 to v1.0.13.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.12...6004246f47ab62d32be025ce173b241cd84ac58e)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-18 06:43:03 -04:00
Henry de Valence 455f91501d doc: exclude zebra-utils, zebra-checkpoint.
These are internal-only crates for development.
2020-08-17 12:47:32 -07:00
Deirdre Connolly eda6d86d3e Try naively parallelizing test and build jobs on our platform matrix 2020-08-14 20:27:53 -04:00
Deirdre Connolly ada3066e14 Fix rebase conflict artifacts 2020-08-14 02:04:12 -04:00
Deirdre Connolly 006137dae1 Increase timeout on coverage job, reorg config 2020-08-14 02:04:12 -04:00
Deirdre Connolly b4245f4d01
Fix healthcheck (tracing) endpoint (#895)
* Switch to n1-highcpu-2

* Add tracing.endpoint_addr config to release docker image
2020-08-13 03:31:09 -04:00
Deirdre Connolly 250e1af4f1
Use an n1-standard-2 machine for node deployments (#893)
We don't load the entire blockchain into memory anymore. 😂

Resolves #892
2020-08-12 20:08:19 -07:00
Deirdre Connolly 7541c1334a
s/infrastructure/A-infrastructure (#883)
* s/infrastructure/A-infrastructure

* Add A-dependencies, A-rust labels

* Rearrange
2020-08-11 16:41:29 -07:00
Henry de Valence a987394782
Add KaTeX to rendered docs. (#832)
This adds a single test formula to the `zebra-chain` docs.  We can remove it
after merging this and running it through CI to confirm that it works.
2020-08-05 17:34:30 -07:00
Deirdre Connolly 0cd8b7e7bd Rename pr.yml to ci.yml 2020-07-24 18:18:46 -04:00
Deirdre Connolly e24cd5755b Add a nicer human name to coverage job 2020-07-24 18:18:46 -04:00
Deirdre Connolly bbc6fb82bf Increase timeout on coverage job to 10mins, reorg config 2020-07-24 18:18:46 -04:00
dependabot[bot] 80597087b3 build(deps): bump codecov/codecov-action from v1.0.11 to v1.0.12
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.11 to v1.0.12.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.11...07127fde53bc3ccd346d47ab2f14c390161ad108)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-23 18:48:04 -04:00
dependabot[bot] 92bb3c86db build(deps): bump codecov/codecov-action from v1.0.10 to v1.0.11
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.10 to v1.0.11.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.10...6d208f5b527841fb050f92f778e86cb808dacdcb)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-21 12:19:26 -04:00
Jane Lusby e06357f795
Add skeleton of eventual zebra book (#653)
* Add skeleton of eventual zebra book

* reorg sections

* restore file and reorg book a little

* try setting up a firebase deployment

* allow firebase ci to work on test

* download mdbook

* fix book path

* use newer version of mdbook

* remove event hook for book branch pre merge

* Apply suggestions from code review

Co-authored-by: Henry de Valence <hdevalence@hdevalence.ca>

Co-authored-by: Henry de Valence <hdevalence@hdevalence.ca>
2020-07-17 20:15:50 -07:00
Deirdre Connolly 56361654c6
Fix CD workflow using cloudbuild.yaml (#637)
* Fix variable substitutions in CD workflow and gcloud build config

* Docker needs everything lowercase

* Store container image in GCR

* Don't use GITHUB_REPOSITORY
2020-07-10 07:37:54 -04:00
Deirdre Connolly e0a71c229d
Trigger Google Cloud Builds via GitHub App integration (#614)
Use cloudbuild.yaml for all invocations including via gcloud cli and github build triggers
2020-07-09 14:22:56 -04:00
Deirdre Connolly 2cd58c8325
Add RedJubjub signature verifier service (#460)
Using tower-batch-based async pattern.

Now the Verifier is agnostic of redjubjub SigTypes.  Updated tests to
generate sigs of both types and batch verifies the whole batch.

Resolves #407
2020-07-08 17:23:00 -04:00
Jane Lusby 959f029457
make clippy warnings errors in CI (#605)
* make clippy warnings errors in CI

* Apply fixes from cargo clippy --all-features --all-targets -- -D warnings

* Resolve merge conflicts

Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2020-07-07 16:26:22 -07:00
Deirdre Connolly a267030d7b Adjust coverage job to only trigger on changes to *.rs files
Moves it to its own workflow. Also pulls in latest tarpaulin release every time. 🤞
2020-07-02 15:38:20 -04:00
dependabot[bot] de08f66b33 Bump codecov/codecov-action from v1.0.7 to v1.0.10
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.7 to v1.0.10.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.7...f3570723ef743f6942b6a480461ed0cd6c0f9baa)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-02 06:44:39 -04:00
Deirdre Connolly eff8a3889e Revert "Sign container images for later binary authorization"
This reverts commit 0bb8b2b059.
2020-06-25 17:03:07 -04:00
Deirdre Connolly 038a09ad36 Revert "Use gcloud sdk latest stable in actions; use --quiet for alpha commands"
This reverts commit 8367c765a0.
2020-06-25 17:03:07 -04:00
Deirdre Connolly 839d4ab9fb Revert "Move --quiet around"
This reverts commit 01e6d01d9b.
2020-06-25 17:03:07 -04:00
Deirdre Connolly e8ff7a1dd8 Revert "Verify that the attestation was created"
This reverts commit c1f97e21c9.
2020-06-25 17:03:07 -04:00
Deirdre Connolly c1f97e21c9 Verify that the attestation was created 2020-06-25 16:47:29 -04:00
Deirdre Connolly 01e6d01d9b Move --quiet around 2020-06-25 16:47:29 -04:00
Deirdre Connolly 8367c765a0 Use gcloud sdk latest stable in actions; use --quiet for alpha commands 2020-06-25 16:47:29 -04:00
Deirdre Connolly 0bb8b2b059 Sign container images for later binary authorization 2020-06-25 16:47:29 -04:00
dependabot[bot] 5c0df915f1 Bump w9jds/firebase-action from v1.3.1 to v1.5.0
Bumps [w9jds/firebase-action](https://github.com/w9jds/firebase-action) from v1.3.1 to v1.5.0.
- [Release notes](https://github.com/w9jds/firebase-action/releases)
- [Commits](https://github.com/w9jds/firebase-action/compare/v1.3.1...6d1a577caffa15dfad8cc3d95e8ea2ac7ff51f7f)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-22 11:55:43 -04:00
Deirdre Connolly 2bdd07c1bc
Create instance group if it doesn't exist, update it if it does (#513)
* Deploy instance group if it doesn't exist, update it if it does

* Rename push.yml to cd.yml

* Rename some CD steps
2020-06-21 04:39:47 -04:00
Deirdre Connolly 2f87a9a9f6 Update existing managed instance groups on deploy 2020-06-19 03:46:09 -04:00
Deirdre Connolly 509f0763ad Scope deploys to main, gcloud branches; shorten initial delay 2020-06-19 03:46:09 -04:00
Deirdre Connolly c901b42c75 Shorten health check delay from 3 minutes to 1 2020-06-19 03:46:09 -04:00
Deirdre Connolly c85acde18f Add 'zebrad' tags to instance templates
And add 'one time' commands commented out for managing firewall rules.
2020-06-19 03:46:09 -04:00
Deirdre Connolly f95e7d5595 Add health check 2020-06-19 03:46:09 -04:00
Deirdre Connolly 4aabadc67d Remove zone param 2020-06-19 03:46:09 -04:00
Deirdre Connolly 621a14abe9 Managed group of size 1 seems to reliably work 🙃 2020-06-19 03:46:09 -04:00
Deirdre Connolly c7046eb6f5 Create instance group in one specified zone 2020-06-19 03:46:09 -04:00
Deirdre Connolly 20e0e4bef0 Go back to project default machine type for now 2020-06-19 03:46:09 -04:00
Deirdre Connolly cae9df9169 Remove --base-instance-name, redundant 2020-06-19 03:46:09 -04:00
Deirdre Connolly c50e9a5bee Add region 2020-06-19 03:46:09 -04:00
Deirdre Connolly e2c30e7bd2 Type n1-highmem-8 2020-06-19 03:46:09 -04:00
Deirdre Connolly 14a62bf9bb Remove region; highmem is constrainted 2020-06-19 03:46:09 -04:00
Deirdre Connolly 7742bb4dbd Bump memory on instance template 2020-06-19 03:46:09 -04:00
Deirdre Connolly 30f01c6ff0 Use updated 'zebrad seed' command, move binary to root, no workdir 2020-06-19 03:46:09 -04:00
Deirdre Connolly 65bd05932e Remove cloudbuild.yml, tidy gcloud deploy workflow 2020-06-19 03:46:09 -04:00
Deirdre Connolly 0ccf167125 gcloud workflow to deploy containers via managed instance group
Also default command to 'zebrad connect' until 'start' is fleshed out.
2020-06-19 03:46:09 -04:00
Deirdre Connolly dab3eeca3c Go back to stable clippy-check
The experimental one duplicates outputs X however many github checks run, rust or not.
2020-06-16 17:14:27 -04:00
Deirdre Connolly a577303329 Create zbot.yml 2020-06-13 06:15:20 -04:00
dependabot[bot] 32d1b9c4f9 Bump codecov/codecov-action from v1 to v1.0.7
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1 to v1.0.7.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...f532c3a1452359a7f96c37efc741537b80555c74)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-09 17:47:18 -04:00
dependabot[bot] 3666db7a42 Bump w9jds/firebase-action from v1.1.0 to v1.3.1
Bumps [w9jds/firebase-action](https://github.com/w9jds/firebase-action) from v1.1.0 to v1.3.1.
- [Release notes](https://github.com/w9jds/firebase-action/releases)
- [Commits](https://github.com/w9jds/firebase-action/compare/v1.1.0...92e616d7667df9bd5c7d9c6a1ff50e9f79861a65)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-09 17:47:00 -04:00
Deirdre Connolly 1f28e535ec Label github action updates as 'infrastructure' 2020-06-09 17:46:33 -04:00
dependabot-preview[bot] 78f09c5360 Create Dependabot config file 2020-06-09 17:00:32 -04:00
Deirdre Connolly d61cf27d74
Turn off the project workflow, reorg some CI jobs (#451)
* Remove 'assign to project' workflow

Doesn't work with external PRs.

* Reorg CI jobs a bit

* Also upgrade gcloud sdk to version 295.0.0
2020-06-08 21:03:51 -04:00
Deirdre Connolly b263489af6
Export ed25519 zebra (#445)
And use that one, and our similar redjubjub export, everywhere.

Fixes #405

* Move PRs to 'In Progress' column on project board when created
2020-06-06 18:10:32 -04:00
Deirdre Connolly 123ba3674f
Update assign-to-project.yml to use a scoped personal access toke (#441)
* Update assign-to-project.yml

* Rename project?

* Rename workflow & job
2020-06-06 14:39:46 -04:00
Deirdre Connolly d54c83ead5
Add assign to project workflow (#438) 2020-06-05 19:21:20 -04:00
Jane Lusby 4a2d2a359c
add cargo fmt to ci (#403)
* add cargo fmt to ci

* rebase on main

* switch to stable

Co-authored-by: Jane Lusby <jane@zfnd.org>
2020-05-27 19:12:25 -07:00
Deirdre Connolly cdc1f38e72 Try new unstable Clippy action, update PR job logic 2020-05-15 23:46:21 -04:00
Deirdre Connolly 796eddfb25 Only run gcloud build when it's a push 2020-05-15 23:46:21 -04:00
Deirdre Connolly 77b42d2048 Try actions-rs build+test, gcloud build is an app not an action 2020-05-15 23:46:21 -04:00
Deirdre Connolly 6a09187a8b Trigger CI workflow on push to main or PR opened against main
To support PRs from forks.
2020-05-13 16:32:49 -04:00
Deirdre Connolly d53d69aa6e
Tweak coverage job (#364)
* Add step ids, better names

* Split out Clippy to its own job

* If coverage goes down, don't fail the build

* Go back to tarpaulin

* bump version of tarpaulin

* config tarpaulin
2020-04-21 04:51:05 -04:00
Deirdre Connolly df7ed7ae81
Move note encryption types around (#362)
* Move around and dedupe note *Cipertext types

* Bump code coverage test timeout to 5 minutes

* Try uploading coverage to codecov.io
2020-04-19 14:45:25 -04:00
Henry de Valence 5191b9d1d5 Try building internal docs. 2020-02-10 18:12:43 -08:00
Henry de Valence a0d0d297d9 Try clippy in CI 2020-02-05 12:42:32 -08:00
Deirdre Connolly 5ff8edd14e Try caching cargo 2020-01-24 19:40:30 -05:00
Deirdre Connolly b60135568a Output HTML report and try to archive it 2020-01-24 19:40:30 -05:00
Deirdre Connolly d3cff23897 Run with --test profile and add more tarpaulin flags 2020-01-24 19:40:30 -05:00
Deirdre Connolly 69c0c3e9fd A code coverage step 2020-01-24 19:40:30 -05:00
Henry de Valence acabbece8f Use actions-rs to install nightly rust. 2020-01-16 18:53:04 -05:00
Henry de Valence e78048e16a Use nightly cargo to build docs. 2020-01-16 18:38:16 -05:00
Henry de Valence 63ef2a3824 Only build docs for workspace members. 2020-01-16 18:38:16 -05:00
Henry de Valence 470e96e97f Try to build docs only on pushes to main 2020-01-16 16:47:19 -05:00
Henry de Valence 6709a15954 Try to add firebase to GH ActionS 2020-01-16 16:47:19 -05:00
Deirdre Connolly 50e20a1053
Update GitHub Actions workflow to use latest GoogleCloudPlatform located actions (#171)
The locations of the Actions were moved around for some reason, resulting in 404s.
2020-01-14 17:03:51 -05:00
Deirdre Connolly bb77e509ea Comment out suspicious run line 2019-10-24 16:50:34 -04:00
Deirdre Connolly 8fe3403de0
Continuous integration (#2)
* Add CI workflow similar to other zebra

* Bump cache TTL to 24hours

* Expand image name to include full repo owner/repo-name/branch-name

* Force to lowercase because google container registry demands it

This may not be universally shell compatible

* Use bash as gcloud action container entrypoint
2019-09-05 13:08:48 -04:00