Skip to content

ci(sync): gate publish on full build + patched-package tests#54

Merged
davidlovas merged 1 commit into
trunkfrom
ci/sync-gate
Jun 22, 2026
Merged

ci(sync): gate publish on full build + patched-package tests#54
davidlovas merged 1 commit into
trunkfrom
ci/sync-gate

Conversation

@davidlovas

Copy link
Copy Markdown

Makes the upstream-sync workflow actually gate publishing on a real build + tests.

Before: the sync ran go test ./internal/config/... only, and the publish step's if: steps.rebase.outputs.status == 'success' (a custom if, which replaces the default success() check) ran even if that test step failed. So a rebase that applied our patches cleanly but broke compilation elsewhere (e.g. cli#13403 switching IDs to int64, which broke pkg/cmd/ruleset) shipped anyway.

After:

  • New "Verify build and patched tests" step runs go build ./... (catches compile breakage anywhere) plus go test over the patched packages (config, gh, auth, ruleset, version).
  • The publish step now requires steps.rebase.outputs.status == 'success' && success(), so any build/test failure skips the publish and leaves trunk at the last good state.

CI-only.

Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
@davidlovas
davidlovas enabled auto-merge (squash) June 22, 2026 07:13
@davidlovas
davidlovas merged commit 6f01357 into trunk Jun 22, 2026
16 checks passed
@davidlovas
davidlovas deleted the ci/sync-gate branch June 22, 2026 07:24
rexovas-open-source Bot added a commit that referenced this pull request Jun 22, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jun 23, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jun 24, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jun 24, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jun 25, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jun 25, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jun 25, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jun 29, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jun 30, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 1, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 2, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 2, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 3, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 3, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 8, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 9, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 9, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 10, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 13, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 13, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 16, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 20, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 20, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 21, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 21, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 22, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 22, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 22, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 22, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 22, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 22, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 23, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 24, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
rexovas-open-source Bot added a commit that referenced this pull request Jul 24, 2026
Run `go build ./...` plus tests over the patched packages before publishing
a sync, and make the publish step depend on it via success(). A rebase can
apply our patches cleanly yet break compilation when upstream changes a type
we rely on (e.g. cli#13403 int64 IDs); the previous gate only ran
./internal/config and its custom `if` let publish run even on failure.
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