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 permissions: read-all jobs: goversion: uses: ./.github/workflows/go-version.yaml test: timeout-minutes: 210 runs-on: ubuntu-latest needs: goversion steps: - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0 with: go-version: ${{ needs.goversion.outputs.goversion }} - name: test-robustness env: ETCD_BRANCH: "${{ inputs.etcdBranch }}" run: | set -euo pipefail # 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@v2 if: always() with: name: ${{ inputs.artifactName }} path: /tmp/results/*