51 lines
1.4 KiB
YAML
51 lines
1.4 KiB
YAML
---
|
|
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
|