-
Notifications
You must be signed in to change notification settings - Fork 9.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add linearizability nightlies for release 3.4/3.5 #14915
Conversation
bf5e312
to
ce33a8c
Compare
also looking into today's run: https://github.com/etcd-io/etcd/actions/runs/3646971615/jobs/6158650127 There's a 30m timeout on the test runner itself, we need to make this configurable too. EDIT: done. |
b3a16b4
to
8c7e5ac
Compare
This CL refactors the tests to reuse a single workflow that has parameters. This is then reused for PRs/pushes and the nightlies. Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
8c7e5ac
to
c321a59
Compare
timeout-minutes: 180 | ||
uses: ./.github/workflows/linearizability-workflow.yaml | ||
with: | ||
ref: release-3.4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Older branches don't have code for linearizability tests. You need to compile old etcd version, but run linearizability tests latest main branch. Please see https://github.com/etcd-io/etcd/pull/14912/files
ref: main | ||
count: 500 | ||
timeoutDuration: 3h | ||
test-3.5: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note, older releases don't have same gofailpoints. Tests will fail when trying to trigger a failpoint that is present on main which is not available on release-3.4 nor release-3.5.
We might need to skip some of scenarios that are not yet backward compatible.
To make new failpoints work with older releases we would need:
- merge remove path from failpoint gofail#44 (comment) that will ensure that failpoints have same name
- For linearizability tests implement checking which failpoints are available in etcd server (should be available in one of HTTP endpoints) and triggering only those available.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Second point was implemented in #15046
with: | ||
go-version: ${{ inputs.goVersion }} | ||
- run: | | ||
make gofail-enable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Scripts for building on older branches are really different.
All dependent features needed for this feature were implemented (consistent naming of failpoints between releases, triggering only available failpoints). @tjungblu do you want to finish the PR? |
Superseded by #15106 |
This CL refactors the tests to reuse a single workflow that has parameters. This is then reused for PRs/pushes and the nightlies.
Signed-off-by: Thomas Jungblut tjungblu@redhat.com