fix(worker): zero-disruption rollouts via probes + maxUnavailable=0 #223
ci.yml
on: push
lint-go
1m 7s
test-go
3m 24s
build-go
29s
lint-python
11s
test-python
27s
build-web
1m 37s
test-web
36s
proto-gen
8s
Annotations
15 errors and 9 warnings
|
proto-gen
Process completed with exit code 100.
|
|
lint-python
Process completed with exit code 1.
|
|
test-web
Process completed with exit code 1.
|
|
src/app/(app)/repositories/[id]/wiki-settings-panel.test.tsx > WikiSettingsPanel — State 5 failure: auth > shows error banner with 'Fix credentials' link and no Retry button:
web/src/app/(app)/repositories/[id]/wiki-settings-panel.test.tsx#L604
TestingLibraryElementError: Unable to find an accessible element with the role "link" and name `/Fix credentials/i`
Here are the accessible roles:
heading:
Name "Living Wiki":
<h3
class="text-lg font-semibold tracking-[-0.02em] text-[var(--text-primary)]"
/>
--------------------------------------------------
paragraph:
Name "":
<p
class="text-sm leading-6 text-[var(--text-secondary)]"
/>
Name "":
<p
class="text-xs text-[var(--text-tertiary)]"
/>
Name "":
<p />
Name "":
<p
class="text-xs text-[var(--text-secondary)]"
/>
--------------------------------------------------
button:
Name "Edit":
<button
class="text-sm font-medium text-[var(--accent-primary)] hover:underline"
type="button"
/>
Name "Fix credentials in Settings → Living Wiki, then retry.":
<button
class="underline underline-offset-2"
type="button"
/>
Name "Regenerate now":
<button
class="inline-flex items-center justify-center gap-2 rounded-[var(--control-radius)] border font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--bg-base)] disabled:pointer-events-none disabled:opacity-60 border-[var(--border-default)] bg-[var(--bg-surface)] py-2.5 text-[var(--text-primary)] hover:bg-[var(--bg-hover)] h-10 px-3 text-xs"
/>
Name "Disable":
<button
class="text-sm text-[var(--text-tertiary)] hover:text-[var(--color-error,#ef4444)]"
type="button"
/>
--------------------------------------------------
alert:
Name "":
<div
aria-live="polite"
class="flex items-start gap-3 rounded-[var(--radius-md)] border px-4 py-3 text-sm border-[var(--color-error,#ef4444)] bg-[rgba(239,68,68,0.08)] text-[var(--color-error,#ef4444)]"
role="alert"
/>
--------------------------------------------------
link:
Name "Open Living Wiki settings":
<a
class="underline underline-offset-2"
href="/settings/living-wiki"
/>
--------------------------------------------------
Ignored nodes: comments, script, style
<body>
<div>
<div
class="rounded-[var(--panel-radius)] border border-[var(--panel-border)] bg-[var(--panel-bg)] text-[var(--text-primary)] shadow-[var(--panel-shadow)] backdrop-blur-[var(--panel-blur)] transition-colors p-3.5 sm:p-5 space-y-6"
>
<div
class="flex items-center gap-3"
>
<h3
class="text-lg font-semibold tracking-[-0.02em] text-[var(--text-primary)]"
>
Living Wiki
</h3>
<span
class="inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium border-[var(--color-error,#ef4444)]/30 bg-[var(--color-error,#ef4444)]/10 text-[var(--color-error,#ef4444)]"
>
Error
</span>
</div>
<p
class="text-sm leading-6 text-[var(--text-secondary)]"
>
Keep your documentation in sync as code evolves. Configure sinks and let SourceBridge propose wiki updates automatically.
</p>
<div
class="space-y-6"
tabindex="-1"
>
<div
class="flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between"
>
<div
class="flex items-center gap-2"
>
<span
class="inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium border-[var(--color-error,#ef4444)]/30 bg-[var(--color-error,#ef4444)]/10 text-[var(--color-error,#ef4444)]"
>
Error
</span>
<span
class="text-sm text-[var(--text-secondary)]"
>
Confluence (Engineer)
</span>
</div>
<div
class="flex items-center gap-2"
>
<button
class="text-sm font-medium text-[var(--accent-primary)] hover:underline"
type="button"
>
Edit
</button>
</div>
</div>
|
|
src/app/(app)/repositories/[id]/wiki-settings-panel.test.tsx > WikiSettingsPanel — State 5 failure: transient > shows warning banner and Retry CTA:
web/src/app/(app)/repositories/[id]/wiki-settings-panel.test.tsx#L567
TestingLibraryElementError: Unable to find an element with the text: /temporary error/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="rounded-[var(--panel-radius)] border border-[var(--panel-border)] bg-[var(--panel-bg)] text-[var(--text-primary)] shadow-[var(--panel-shadow)] backdrop-blur-[var(--panel-blur)] transition-colors p-3.5 sm:p-5 space-y-6"
>
<div
class="flex items-center gap-3"
>
<h3
class="text-lg font-semibold tracking-[-0.02em] text-[var(--text-primary)]"
>
Living Wiki
</h3>
<span
class="inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium border-[var(--color-error,#ef4444)]/30 bg-[var(--color-error,#ef4444)]/10 text-[var(--color-error,#ef4444)]"
>
Error
</span>
</div>
<p
class="text-sm leading-6 text-[var(--text-secondary)]"
>
Keep your documentation in sync as code evolves. Configure sinks and let SourceBridge propose wiki updates automatically.
</p>
<div
class="space-y-6"
tabindex="-1"
>
<div
class="flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between"
>
<div
class="flex items-center gap-2"
>
<span
class="inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium border-[var(--color-error,#ef4444)]/30 bg-[var(--color-error,#ef4444)]/10 text-[var(--color-error,#ef4444)]"
>
Error
</span>
<span
class="text-sm text-[var(--text-secondary)]"
>
Confluence (Engineer)
</span>
</div>
<div
class="flex items-center gap-2"
>
<button
class="text-sm font-medium text-[var(--accent-primary)] hover:underline"
type="button"
>
Edit
</button>
</div>
</div>
<p
class="text-xs text-[var(--text-tertiary)]"
>
Mode:
PR Review
·
Last run:
1 hours ago
</p>
<div
aria-live="polite"
class="flex items-start gap-3 rounded-[var(--radius-md)] border px-4 py-3 text-sm border-amber-500 bg-[rgba(245,158,11,0.08)] text-amber-400"
role="alert"
>
<span
aria-hidden="true"
class="mt-0.5 shrink-0 font-bold"
>
⚠
</span>
<div
class="min-w-0 flex-1"
>
<p>
Wiki generation failed
</p>
<div
class="mt-2 space-y-2"
>
<p
class="text-xs text-[var(--text-secondary)]"
>
LLM rate limit exceeded
</p>
<div
class="flex flex-wrap items-center gap-3 text-xs font-medium"
>
<button
class="underline underline-offset-2"
type="button"
>
Retry — if it keeps failing, capture this message and let us know.
</button>
</div>
</div>
</div>
</div>
<div
class="flex flex-wrap items-center gap-3 border-t border-[var(--border-subtle)] pt-4"
>
<button
class="inline-flex items-center justify-center gap-2 rounded-[var(--control-radius)] border font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--bg-base)] disabled:pointer-events-none disabled:opacity-60 border-[var(--border-default)] bg-[var(--bg-surface)]
|
|
lint-go:
internal/skillcard/writer.go#L53
func `mergeFile` is unused (unused)
|
|
lint-go:
internal/graph/store.go#L1704
ineffectual assignment to dir (ineffassign)
|
|
lint-go:
internal/livingwiki/manifest/manifest_test.go#L139
S1030: should use buf.String() instead of string(buf.Bytes()) (gosimple)
|
|
lint-go:
internal/qa/progress.go#L95
func `withDetail` is unused (unused)
|
|
lint-go:
internal/qa/agent_tools.go#L687
func `stableToolNames` is unused (unused)
|
|
lint-go:
internal/quality/input.go#L136
SA4010: this result of append is never used, except maybe in other appends (staticcheck)
|
|
lint-go:
internal/quality/validator.go#L189
var `reSentenceEnd` is unused (unused)
|
|
lint-go:
internal/quality/profile.go#L205
func `Profile.ruleFor` is unused (unused)
|
|
lint-go:
internal/quality/input.go#L86
var `reH1H2` is unused (unused)
|
|
lint-go:
internal/quality/input.go#L80
var `reFencedBlock` is unused (unused)
|
|
proto-gen
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, bufbuild/buf-setup-action@v1. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
proto-gen
No github_token supplied, API requests will be subject to stricter rate limiting
|
|
lint-python
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5, astral-sh/setup-uv@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test-python
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5, astral-sh/setup-uv@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-go
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-go@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test-web
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
lint-go
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-go@v5, golangci/golangci-lint-action@v6. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-web
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
test-go
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-go@v5, actions/setup-python@v5, astral-sh/setup-uv@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|