--- name: Reusable Robustness Workflow on: workflow_call: inputs: etcdBranch: required: true type: string count: required: true type: number testTimeout: required: false type: string default: '30m' artifactName: required: true type: string runs-on: required: false type: string default: "['ubuntu-latest']" permissions: read-all jobs: test: timeout-minutes: 210 runs-on: ${{ fromJson(inputs.runs-on) }} steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - id: goversion run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT" - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 with: go-version: ${{ steps.goversion.outputs.goversion }} - name: test-robustness env: ETCD_BRANCH: "${{ inputs.etcdBranch }}" run: | set -euo pipefail go clean -testcache # Build LazyFS sudo apt update && sudo apt-get --yes install cmake libfuse3-dev libfuse3-3 fuse3 sudo sed -i 's/#user_allow_other/user_allow_other/g' /etc/fuse.conf make install-lazyfs # Use --failfast to avoid overriding report generated by failed test GO_TEST_FLAGS="-v --count ${{ inputs.count }} --timeout ${{ inputs.testTimeout }} --failfast --run TestRobustness" case "${ETCD_BRANCH}" in release-3.5) EXPECT_DEBUG=true GO_TEST_FLAGS=${GO_TEST_FLAGS} RESULTS_DIR=/tmp/results make test-robustness-release-3.5 ;; release-3.4) EXPECT_DEBUG=true GO_TEST_FLAGS=${GO_TEST_FLAGS} RESULTS_DIR=/tmp/results make test-robustness-release-3.4 ;; main) make gofail-enable make build EXPECT_DEBUG=true GO_TEST_FLAGS=${GO_TEST_FLAGS} RESULTS_DIR=/tmp/results make test-robustness ;; *) echo "Failed to find target ${ETCD_BRANCH}" exit 1 ;; esac - uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4.0.0 if: always() with: name: ${{ inputs.artifactName }} path: /tmp/results/*