You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -19,14 +18,16 @@ To check consensus correctness, we want to test that the state format is valid a
19
18
-[ ] Make sure there has been [at least one successful full sync test](https://github.com/ZcashFoundation/zebra/actions/workflows/ci-tests.yml?query=event%3Aschedule) since the last state change, or
20
19
-[ ] Start a manual workflow run with a Zebra and `lightwalletd` full sync.
21
20
22
-
State format changes can be made in `zebra-state` or `zebra-chain`. The state format can be changed by data that is sent to the state, data created within the state using `zebra-chain`, or serialization formats in `zebra-state` or `zebra-chain`.
21
+
State format changes can be made in `zebra-state` or `zebra-chain`. The state format can be changed by data that is sent to the state, data created within the state using `zebra-chain`, or serialization formats in `zebra-state` or `zebra-chain`.
23
22
24
23
After the test has been started, or if it has finished already:
24
+
25
25
-[ ] Ask for a state code freeze in Slack. The freeze lasts until the release has been published.
26
26
27
27
## Checkpoints
28
28
29
29
For performance and security, we want to update the Zebra checkpoints in every release.
30
+
30
31
-[ ] You can copy the latest checkpoints from CI by following [the zebra-checkpoints README](https://github.com/ZcashFoundation/zebra/blob/main/zebra-utils/README.md#zebra-checkpoints).
31
32
32
33
## Missed Dependency Updates
@@ -36,6 +37,7 @@ Sometimes `dependabot` misses some dependency updates, or we accidentally turned
36
37
This step can be skipped if there is a large pending dependency upgrade. (For example, shared ECC crates.)
37
38
38
39
Here's how we make sure we got everything:
40
+
39
41
-[ ] Run `cargo update` on the latest `main` branch, and keep the output
40
42
-[ ] If needed, [add duplicate dependency exceptions to deny.toml](https://github.com/ZcashFoundation/zebra/blob/main/book/src/dev/continuous-integration.md#fixing-duplicate-dependencies-in-check-denytoml-bans)
41
43
-[ ] If needed, remove resolved duplicate dependencies from `deny.toml`
@@ -47,12 +49,14 @@ Here's how we make sure we got everything:
47
49
Follow the steps in the [release checklist](https://github.com/ZcashFoundation/zebra/blob/main/.github/PULL_REQUEST_TEMPLATE/release-checklist.md) to prepare the release:
Copy file name to clipboardExpand all lines: .github/ISSUE_TEMPLATE/usability_testing_plan.md
+2-5Lines changed: 2 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,9 @@
1
1
---
2
2
name: "📋 Usability Testing Plan"
3
3
about: Create a Usability Testing Plan
4
-
title: 'Usability Testing Plan'
4
+
title: "Usability Testing Plan"
5
5
labels: C-research
6
-
assignees: ''
7
-
6
+
assignees: ""
8
7
---
9
8
10
9
# Usability Testing Plan
@@ -53,7 +52,6 @@ assignees: ''
53
52
54
53
<!-- What needs to happen for the participant to successfully complete the task -->
55
54
56
-
57
55
## Session Outline and timing
58
56
59
57
<!-- The following sections provide some space to plan out the script and tasks for your participants -->
@@ -81,4 +79,3 @@ assignees: ''
81
79
## Required documentation
82
80
83
81
<!-- List the documents you will need to produce and bring to the usability testing sessions, e.g consent forms, usability testing script, questionnaires, etc... -->
A hotfix release should only be created when a bug or critical issue is discovered in an existing release, and waiting for the next scheduled release is impractical or unacceptable.
@@ -55,7 +54,7 @@ follow semver, depending on the thing being fixed.
55
54
## Test the Pre-Release (if Zebra hotfix)
56
55
57
56
-[ ] Wait until the Docker binaries have been built on the hotfix release branch, and the quick tests have passed:
-[ ] Wait until the [pre-release deployment machines have successfully launched](https://github.com/ZcashFoundation/zebra/actions/workflows/zfnd-deploy-nodes-gcp.yml?query=event%3Arelease)
For performance and security, we want to update the Zebra checkpoints in every release.
16
+
17
17
-[ ] You can copy the latest checkpoints from CI by following [the zebra-checkpoints README](https://github.com/ZcashFoundation/zebra/blob/main/zebra-utils/README.md#zebra-checkpoints).
18
18
19
19
# Missed Dependency Updates
@@ -23,6 +23,7 @@ Sometimes `dependabot` misses some dependency updates, or we accidentally turned
23
23
This step can be skipped if there is a large pending dependency upgrade. (For example, shared ECC crates.)
24
24
25
25
Here's how we make sure we got everything:
26
+
26
27
-[ ] Run `cargo update` on the latest `main` branch, and keep the output
27
28
-[ ] If needed, [add duplicate dependency exceptions to deny.toml](https://github.com/ZcashFoundation/zebra/blob/main/book/src/dev/continuous-integration.md#fixing-duplicate-dependencies-in-check-denytoml-bans)
28
29
-[ ] If needed, remove resolved duplicate dependencies from `deny.toml`
@@ -41,11 +42,12 @@ Once you are ready to tag a release, copy the draft changelog into `CHANGELOG.md
41
42
We use [the Release Drafter workflow](https://github.com/marketplace/actions/release-drafter) to automatically create a [draft changelog](https://github.com/ZcashFoundation/zebra/releases). We follow the [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) format.
42
43
43
44
To create the final change log:
45
+
44
46
-[ ] Copy the [**latest** draft
45
-
changelog](https://github.com/ZcashFoundation/zebra/releases) into
46
-
`CHANGELOG.md` (there can be multiple draft releases)
47
+
changelog](https://github.com/ZcashFoundation/zebra/releases) into
48
+
`CHANGELOG.md` (there can be multiple draft releases)
47
49
-[ ] Delete any trivial changes
48
-
-[ ] Put the list of deleted changelog entries in a PR comment to make reviewing easier
50
+
-[ ] Put the list of deleted changelog entries in a PR comment to make reviewing easier
49
51
-[ ] Combine duplicate changes
50
52
-[ ] Edit change descriptions so they will make sense to Zebra users
51
53
-[ ] Check the category for each change
@@ -56,12 +58,14 @@ To create the final change log:
56
58
README updates can be skipped for urgent releases.
57
59
58
60
Update the README to:
61
+
59
62
-[ ] Remove any "Known Issues" that have been fixed since the last release.
60
63
-[ ] Update the "Build and Run Instructions" with any new dependencies.
61
64
Check for changes in the `Dockerfile` since the last tag: `git diff <previous-release-tag> docker/Dockerfile`.
62
65
-[ ] If Zebra has started using newer Rust language features or standard library APIs, update the known working Rust version in the README, book, and `Cargo.toml`s
63
66
64
67
You can use a command like:
68
+
65
69
```sh
66
70
fastmod --fixed-strings '1.58''1.65'
67
71
```
@@ -88,20 +92,11 @@ This check runs automatically on pull requests with the `A-release` label. It mu
The end of support height is calculated from the current blockchain height:
146
141
142
+
-[ ] Find where the Zcash blockchain tip is now by using a [Zcash Block Explorer](https://mainnet.zcashexplorer.app/) or other tool.
147
143
-[ ] Replace `ESTIMATED_RELEASE_HEIGHT` in [`end_of_support.rs`](https://github.com/ZcashFoundation/zebra/blob/main/zebrad/src/components/sync/end_of_support.rs) with the height you estimate the release will be tagged.
148
144
149
145
<details>
@@ -160,7 +156,6 @@ The end of support height is calculated from the current blockchain height:
160
156
161
157
-[ ] Push the version increments and the release constants to the release branch.
162
158
163
-
164
159
# Publish the Zebra Release
165
160
166
161
## Create the GitHub Pre-Release
@@ -182,7 +177,7 @@ The end of support height is calculated from the current blockchain height:
182
177
## Test the Pre-Release
183
178
184
179
-[ ] Wait until the Docker binaries have been built on `main`, and the quick tests have passed:
-[ ] Wait until the [pre-release deployment machines have successfully launched](https://github.com/ZcashFoundation/zebra/actions/workflows/zfnd-deploy-nodes-gcp.yml?query=event%3Arelease)
Copy file name to clipboardExpand all lines: .github/workflows/README.md
+6-7Lines changed: 6 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -73,7 +73,7 @@ graph TB
73
73
class PR,Push,Schedule,Manual trigger
74
74
```
75
75
76
-
*The diagram above illustrates the parallel execution patterns in our CI/CD system. All triggers can initiate the pipeline concurrently, unit tests run in parallel after the Docker image build, and integration tests follow a mix of parallel and sequential steps. The infrastructure components support their respective workflow parts concurrently.*
76
+
_The diagram above illustrates the parallel execution patterns in our CI/CD system. All triggers can initiate the pipeline concurrently, unit tests run in parallel after the Docker image build, and integration tests follow a mix of parallel and sequential steps. The infrastructure components support their respective workflow parts concurrently._
77
77
78
78
## Core Infrastructure
79
79
@@ -93,8 +93,8 @@ graph TB
93
93
94
94
#### Docker-based Testing
95
95
96
-
- Most tests run in containers defined by our [Dockerfile](http://../../docker/Dockerfile)
97
-
- The [entrypoint script](http://../../docker/entrypoint.sh) manages:
96
+
- Most tests run in containers defined by our [Dockerfile](../../docker/Dockerfile)
97
+
- The [entrypoint script](../../docker/entrypoint.sh) manages:
98
98
- Test execution
99
99
- Environment configuration
100
100
- Resource cleanup
@@ -130,12 +130,12 @@ graph TB
130
130
131
131
### 5. Queue Management
132
132
133
-
[Mergify](https://mergify.yml)
133
+
[Mergify](https://mergify.com)
134
134
135
135
- Automated PR merging and queue-based testing
136
136
- Priority management
137
137
- Ensures code quality before merge
138
-
- See our [`.mergify.yml`](http://../../.mergify.yml) for configuration
138
+
- See our [`.mergify.yml`](../../.mergify.yml) for configuration
139
139
140
140
## Workflow Organization
141
141
@@ -165,7 +165,7 @@ graph TB
165
165
166
166
### Test Orchestration with Nextest
167
167
168
-
Our test execution is centralized through our Docker [entrypoint script](http://../../docker/entrypoint.sh) and orchestrated by `cargo nextest`. This provides a unified and efficient way to run tests both in CI and locally.
168
+
Our test execution is centralized through our Docker [entrypoint script](../../docker/entrypoint.sh) and orchestrated by `cargo nextest`. This provides a unified and efficient way to run tests both in CI and locally.
169
169
170
170
#### Nextest Profile-driven Testing
171
171
@@ -191,7 +191,6 @@ Our tests are organized into different categories:
191
191
192
192
Each test category has specific profiles that can be run individually using the `NEXTEST_PROFILE` environment variable.
0 commit comments