--- name: Reusable Robustness Workflow on: workflow_call: inputs: count: required: true type: number testTimeout: required: false type: string default: '30m' runs-on: required: false type: string default: "['ubuntu-latest']" permissions: read-all jobs: test: # this is to prevent the job to run at forked projects if: github.repository == 'etcd-io/bbolt' timeout-minutes: 210 runs-on: ${{ fromJson(inputs.runs-on) }} steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - id: goversion run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT" - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version: ${{ steps.goversion.outputs.goversion }} - name: test-robustness run: | set -euo pipefail sudo apt-get install -y dmsetup xfsprogs ROBUSTNESS_TESTFLAGS="--count ${{ inputs.count }} --timeout ${{ inputs.testTimeout }} -failfast" make test-robustness - name: Host Status if: always() run: | set -x mount df losetup -l - name: Kernel Message if: failure() run: | sudo lsmod sudo dmesg -T -f kern