Skip to content

ci: fix codecov input warning + add PR-triggered and weekly FUSE stress workflow#46

Merged
mfreed merged 2 commits into
mainfrom
ci/codecov-input-and-stress
May 25, 2026
Merged

ci: fix codecov input warning + add PR-triggered and weekly FUSE stress workflow#46
mfreed merged 2 commits into
mainfrom
ci/codecov-input-and-stress

Conversation

@mfreed
Copy link
Copy Markdown
Member

@mfreed mfreed commented May 25, 2026

  • Fix recurring codecov warning (6eff588): rename deprecated singular file input to files in
    codecov/codecov-action@v6. Verified via `gh run view` that all of the last 5 merged PRs carried the same single
    annotation `Unexpected input(s) 'file'`; this clears it.
  • Add .github/workflows/stress.yml (a4d747f): runs `./scripts/stress-docker.sh` in three modes:
    • PR (path-filtered): triggers when a PR touches `fs/`, `db/`, `fuse/`, `migrate.go`, `test/stress/`,
      `scripts/stress-docker.sh`, or the workflow itself. Docs / NFS / logging / config PRs skip the workflow entirely.
      200 iterations, ~3-5 min.
    • Weekly schedule: Mondays at 06:17 UTC (off-the-hour to dodge GH cron load-balancing skew). 1000 iterations,
      ~5-10 min.
    • workflow_dispatch: manual ad-hoc runs with a configurable iteration count input.
  • Concurrency: PR runs are cancelled when a new commit is pushed to the same branch; schedule and manual runs are
    never cancelled.
  • Failure artifact: dumps in `test/stress/docker/host-out/` are uploaded on failure (7-day retention) so the
    runner's output survives teardown.
  • Exit-code propagation verified: `runner.go:439,443` exits non-zero on failure; `stress-docker.sh` uses
    `set -e` + `docker compose exec` to propagate, so CI naturally fails on stress failure.
  • Self-validating: this PR touches `stress.yml`, which is in the new workflow's path filter, so the workflow
    runs on itself before merge.

mfreed added 2 commits May 25, 2026 00:00
codecov/codecov-action@v6 deprecated the singular `file` input in favor
of `files`. The action still runs but emits an "Unexpected input(s)"
warning on every PR. One-line rename clears the warning and aligns
with the action's current input schema.

Run 26382236617 was the most recent surface.
Adds .github/workflows/stress.yml running ./scripts/stress-docker.sh
in three modes:

- pull_request (path-filtered): triggers when a PR touches code paths
  that can affect stress behavior (fs/, db/, fuse/, migrate.go,
  test/stress/, scripts/stress-docker.sh, this workflow). Docs-only,
  nfs/, logging/, etc. PRs skip the workflow entirely. 200 iterations,
  ~3-5 min on GH-hosted runners.
- schedule: Mondays at 06:17 UTC (off-the-hour to dodge GH's
  top-of-hour load-balancing skew). 1000 iterations, ~5-10 min.
  Catches anything the path filter under-scoped.
- workflow_dispatch: manual ad-hoc runs with a configurable
  iteration count input. Defaults to 200.

Iteration count is selected per event: inputs.iterations wins if set;
otherwise schedule -> 1000, anything else -> 200.

Concurrency group cancels in-flight PR runs when a new commit is
pushed; schedule and manual runs are never cancelled.

Failure dumps are uploaded as a retained artifact so the runner's
output directory survives the runner teardown. The stress runner exits
non-zero on validation/operation failure (runner.go:439,443) and
stress-docker.sh uses set -e + docker compose exec to propagate that
exit code, so CI naturally fails on stress failure.
@mfreed mfreed merged commit 0d30829 into main May 25, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant