Skip to content

feat: DH-23748: Multipass Release Matrix Workflow - #438

Open
stanbrub wants to merge 9 commits into
deephaven:mainfrom
stanbrub:release-matrix-and-dash
Open

stanbrub wants to merge 9 commits into
deephaven:mainfrom
stanbrub:release-matrix-and-dash

Conversation

@stanbrub

@stanbrub stanbrub commented Oct 1, 2026

Copy link
Copy Markdown
Collaborator
  • Reworked Release workflow to use matrix configs
  • Improved dealing with APT conflicts after auto-provision
  • Get version label from actual deephaven.version platform property
  • Changed to using two always-on servers instead of one
  • For release, use same iteration count for all benchmarks

@stanbrub stanbrub self-assigned this Oct 1, 2026
Copilot AI balanced review requested due to automatic review settings October 1, 2026 23:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The release profile remains temporary, repeated artifact names fail, mutable edge images are unpinned, and APT services are still interrupted.

Review effort: Balanced
Findings: 2 High severity · 2 Medium severity

Open (4)
What changed in this PR

Introduces matrix-driven release benchmarks, dedicated benchmark hosts, improved provisioning, and engine-derived release labels.

Changes:

  • Adds release and existing-server matrix orchestration.
  • Separates nightly and matrix hosts.
  • Improves APT setup, result labeling, filtering, and log redaction.
File Description
docs/​ForkSetup.md Documents separate host secrets.
.github/​workflows/​remote-benchmarks.yml Adds host routing and controlled clearing.
.github/​workflows/​release-remote-benchmarks.yml Converts releases to a matrix workflow.
.github/​workflows/​nightly-remote-benchmarks.yml Enables pre-run clearing.
.github/​workflows/​matrix-exist-remote-benchmarks.yml Integrates clearing and matrix run types.
.github/​workflows/​compare-remote-benchmarks.yml Uses the matrix host.
.github/​workflows/​adhoc-exist-remote-benchmarks.yml Moves clearing into the reusable workflow.
.github/​workflows/​adhoc-auto-remote-benchmarks.yml Clears before both comparison runs.
.github/​scripts/​setup-test-server-remote.sh Revises automatic-update handling.
.github/​scripts/​setup-ssh-local.sh Detects unresolved host aliases.
.github/​scripts/​run-ssh-local.sh Redacts host addresses from logs.
.github/​scripts/​run-benchmarks-remote.sh Applies class filters with tag filters.
.github/​scripts/​matrix_array.sh Gives releases uniform iterations.
.github/​scripts/​fetch-results-local.sh Derives labels from engine versions.
.github/​scripts/​build-matrix.sh Adds run types and matrix validation.
.github/​scripts/​adhoc.sh Adds cloud-init data to provisioning.
.github/​resources/​adhoc-server-cloud-init.yml Disables automatic APT services at boot.
.github/​matrix/​release.sh Defines repeated release passes.
.github/​matrix/​gc-train-heap-fail.sh Adds matrix run-type output.
.github/​matrix/​gc-train-1000-100.sh Adds matrix run-type output.
.github/​matrix/​example-regression-matrix.sh Adds matrix run-type output.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/scripts/setup-test-server-remote.sh Outdated
Comment thread .github/workflows/release-remote-benchmarks.yml
Comment thread .github/matrix/release.sh
Comment thread .github/workflows/release-remote-benchmarks.yml
Copilot AI balanced review requested due to automatic review settings October 1, 2026 23:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

Release rows reuse an artifact name, and mutable edge images can change between sequential passes.

Review effort: Balanced
Findings: 2 High severity · 1 Medium severity

Open (3)
Resolved since last review (1)

Copilot AI balanced review requested due to automatic review settings October 1, 2026 23:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

Repeated release artifact names will fail after the first matrix leg, and failed dpkg repairs are currently ignored.

Review effort: Balanced
Findings: 1 High severity · 1 Medium severity

Open (2)
Resolved since last review (1)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Do not ignore dpkg repair failures

.github/​scripts/​setup-test-server-remote.sh:69

The repair command's failure is discarded even though the following package installs depend on a consistent dpkg state. If an interrupted transaction cannot be configured, continuing only defers the failure (or leaves the host partially configured); let errexit stop setup at the repair failure.

Copilot AI balanced review requested due to automatic review settings October 1, 2026 23:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The coupled remote-host lifecycle, cloud provisioning, and release publication changes require end-to-end workflow validation.

Review effort: Balanced
Findings: 1 High severity · 1 Medium severity

Open (2)
Previously missed (1)

In code that hasn't changed since last review

Low severity Use canonical capitalization for GitHub

.github/​scripts/​run-ssh-local.sh:44

Use the product name’s canonical capitalization: “GitHub.”

Copilot AI balanced review requested due to automatic review settings October 2, 2026 01:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Server cleanup depends on matrix scheduling order, which can cause stale state or mid-run clearing.

Review effort: Balanced
Findings: 2 High severity

Open (2)
Resolved since last review (2)

distribution: ${{ matrix.distribution }}
test_device_addr: "<default>"
test_device_addr: "<matrix>"
clear_server: ${{ strategy.job-index == 0 }}
scale_row_count: ${{ matrix.scale_row_count }}
distribution: ${{ matrix.distribution }}
test_device_addr: "<matrix>"
clear_server: ${{ strategy.job-index == 0 }}
Copilot AI balanced review requested due to automatic review settings October 2, 2026 01:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The release matrix still uses temporary values that publish only two benchmark classes across three passes.

Review effort: Balanced
Findings: 2 High severity

Open (2)

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.

2 participants