Skip to content

Open the vendored MEOS-API refresh instead of failing the schedule - #14

Open
estebanzimanyi wants to merge 1 commit into
MobilityDB:masterfrom
estebanzimanyi:ci/vendor-drift-auto-pr
Open

Open the vendored MEOS-API refresh instead of failing the schedule#14
estebanzimanyi wants to merge 1 commit into
MobilityDB:masterfrom
estebanzimanyi:ci/vendor-drift-auto-pr

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

The drift check regenerates vendor/meos-api/ and fails when it differs from the committed copy. MEOS-API master moves most days, so the daily scheduled run fails most days: every scheduled run of the last twelve days fails, and refreshing the vendored copy clears it only until master moves again.

The failure is also unaddressable where it fires. A scheduled run has no author, and neither has a push already made, so the message asking someone to run make vendor-meos-api reaches nobody.

This makes those runs open the refresh pull request themselves, carrying the diff, and update it while the difference stands. A pull request touching the vendored copy or the target that writes it still fails, where its author is there to act.

MobilityDuck handles the same class of failure this way: meos-surface-refresh.yml opens a refresh pull request on drift, and it carries no per-commit gate that red-lights unrelated work.

Two details the mechanism depends on:

  • add-paths stages only what it lists, so it names every path make vendor-meos-api writes; an omitted one is regenerated and then silently discarded;
  • the action reuses its branch, so a later run updates the open pull request rather than opening another.

The job commits to a branch and opens a pull request, so it declares contents: write and pull-requests: write rather than relying on the repository default.

Future: pull request CI does not exercise a scheduled job, so a green check here does not prove the new leg. Proving it takes one gh workflow run vendor-drift.yml, and an inspection of the file list of the pull request it opens.

The drift check regenerates vendor/meos-api/ and fails when it differs from
the committed copy. MEOS-API master moves most days, so the daily run failed
most days, reporting a difference nobody could act on from a run log.

Runs with no author to address now open the refresh pull request themselves,
carrying the diff, and update it while the difference stands. A pull request
touching the vendored copy still fails, where its author is there to act.

The paths the pull request stages are every path the refresh target writes:
add-paths stages only what it lists, so an omitted one would be regenerated
and then discarded.
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