-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add linearizability nightlies for release 3.4/3.5
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> Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
- Loading branch information
Showing
4 changed files
with
115 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,26 @@ | ||
name: Linearizability Nightly | ||
on: | ||
# schedules always run against the main branch | ||
# schedules always run against the main branch, hence we have to create separate jobs | ||
# with individual checkout actions for each of the active release branches | ||
schedule: | ||
- cron: '25 9 * * *' | ||
- cron: '25 9 * * *' # runs every day at 09:25 UTC | ||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
test-main: | ||
# GHA has a maximum amount of 6h execution time, we try to get done within 3h | ||
timeout-minutes: 180 | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 | ||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 | ||
with: | ||
go-version: "1.19.5" | ||
- run: | | ||
make gofail-enable | ||
make build | ||
mkdir -p /tmp/linearizability | ||
cat server/etcdserver/raft.fail.go | ||
EXPECT_DEBUG=true GO_TEST_FLAGS='-v --count 500 --failfast --run TestLinearizability --timeout=170m' RESULTS_DIR=/tmp/linearizability make test-linearizability | ||
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2 | ||
if: always() | ||
with: | ||
path: /tmp/linearizability/* | ||
uses: ./.github/workflows/linearizability-template.yaml | ||
with: | ||
ref: main | ||
count: 300 | ||
timeoutDuration: 3h | ||
test-35: | ||
uses: ./.github/workflows/linearizability-template.yaml | ||
with: | ||
ref: release-3.5 | ||
count: 300 | ||
timeoutDuration: 3h | ||
test-34: | ||
uses: ./.github/workflows/linearizability-template.yaml | ||
with: | ||
ref: release-3.4 | ||
count: 300 | ||
timeoutDuration: 3h |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: Reusable Linearizability Workflow | ||
on: | ||
workflow_call: | ||
inputs: | ||
ref: | ||
required: true | ||
type: string | ||
count: | ||
required: true | ||
type: number | ||
testTimeout: | ||
required: false | ||
type: string | ||
default: '30m' | ||
permissions: read-all | ||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 | ||
- uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0 | ||
with: | ||
go-version: '1.19.5' | ||
- name: build | ||
env: | ||
GITHUB_REF: ${{ inputs.ref }} | ||
run: | | ||
case "${GITHUB_REF}" in | ||
release-3.5) | ||
make build-failpoints-release-3.5 | ||
./bin/etcd --version | ||
;; | ||
release-3.4) | ||
make build-failpoints-release-3.4 | ||
./bin/etcd --version | ||
;; | ||
*) | ||
make gofail-enable | ||
make build | ||
;; | ||
esac | ||
- name: test-linearizability | ||
run: | | ||
EXPECT_DEBUG=true GO_TEST_FLAGS='-v --count ${{ inputs.count }} --timeout ${{ inputs.testTimeout }} --failfast --run TestLinearizability' RESULTS_DIR=/tmp/linearizability make test-linearizability | ||
- uses: actions/upload-artifact@v2 | ||
if: always() | ||
with: | ||
path: /tmp/linearizability/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters