Skip to content

Conversation

@jrepp
Copy link
Owner

@jrepp jrepp commented Jan 6, 2026

Summary

  • Fixed issue where Test ${{ matrix.name }} appeared literally in GitHub Actions UI when jobs were skipped
  • Removed job-level if conditions that prevented proper job name display
  • Added step-level conditions to skip actual work when tests aren't needed
  • Added comprehensive step summaries for debugging matrix expansion and execution decisions
  • Updated ci_matrix.py to properly trigger integration tests (Go and Rust)

Root Cause

When a GitHub Actions job with a matrix strategy has a job-level if condition that evaluates to false, the job is skipped before the matrix is expanded. This causes the literal expression ${{ matrix.name }} to appear in the UI instead of the expanded value.

Additionally, integration tests (both Go and Rust) were being skipped too aggressively because ci_matrix.py didn't include proper test triggers for many code paths.

Solution

Job Display Fix

Move the skip logic from job-level to step-level:

  1. Jobs always run (no if condition), ensuring matrix is expanded
  2. First step checks if tests should actually run
  3. All subsequent steps have if: steps.should-run.outputs.run == 'true' conditions
  4. When tests aren't needed, steps are skipped quickly with a notice

Go Integration Test Triggers

Updated ci_matrix.py to trigger test:integration for:

  • tests/integration/ changes
  • pkg/plugin/ changes (core SDK)
  • pkg/drivers/ changes (all drivers including memstore)
  • patterns/ changes
  • cmd/ changes

Rust Integration Test Triggers

Updated ci_matrix.py to trigger Rust tests:

  • test:unit-proxy for all prism-proxy/ changes
  • test:integration-rust for prism-proxy/src/ and prism-proxy/tests/ changes

Added Rust integration tests step to test-proxy job that runs:

cargo test --test integration_test -- --ignored --nocapture

Step Summaries

Added GitHub Step Summaries showing:

  • Matrix configuration (name, path, type, artifact)
  • Execution decision inputs (run_full, has_test)
  • Clear decision statement (running vs skipping)

Test plan

  • Verify actionlint passes (confirmed locally)
  • Verify CI jobs display correct names (e.g., "Test MemStore Driver", "Integration Tests", "Test Rust Proxy")
  • Verify test skipping works when no test-related changes detected
  • Verify tests run correctly when test-related changes are detected
  • Verify Go integration tests now run when pkg/, patterns/, or cmd/ files change
  • Verify Rust integration tests run when prism-proxy/src/ or prism-proxy/tests/ files change

User request: "address problems in actions where we see 'Test ${{ matrix.name }}'"

Co-Authored-By: Claude <[email protected]>
@mergify
Copy link
Contributor

mergify bot commented Jan 6, 2026

🧪 CI Insights

Here's what we observed from your CI run for 0be2d92.

🟢 All jobs passed!

But CI Insights is watching 👀

Copy link
Contributor

@mergify mergify bot left a comment

Choose a reason for hiding this comment

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

Automatically approving PR from repo owner

@mergify
Copy link
Contributor

mergify bot commented Jan 6, 2026

Merge Queue Status

🚫 The pull request has left the queue (rule: default) at c891f7e

This pull request spent 4 minutes 43 seconds in the queue, with no time running CI.

Reason

The pull request #281 has been manually updated

Hint

If you want to requeue this pull request, you can post a @mergifyio requeue comment.

@mergify mergify bot added the queued label Jan 6, 2026
User request: "have some better github action summarization to help debug matrix expansion"

Co-Authored-By: Claude <[email protected]>
@mergify mergify bot removed the queued label Jan 6, 2026
@mergify
Copy link
Contributor

mergify bot commented Jan 6, 2026

The PR Status Check has failed. Please review the CI logs and fix any issues.

Common issues:

  • Test failures
  • Linting errors
  • Documentation validation failures

You can run checks locally:

task test-parallel-fast  # Run tests
task lint-parallel       # Run linters
uv run tooling/validate_docs.py  # Validate docs

jrepp and others added 2 commits January 6, 2026 08:58
User request: "look into integration tests being skipped during CI"

- Update ci_matrix.py to trigger integration tests for:
  - tests/integration/ changes
  - pkg/plugin/ changes (core SDK)
  - pkg/drivers/ changes (all drivers)
  - patterns/ changes
  - cmd/ changes
- Apply step-level conditions to test-integration job for consistent UI
- Add step summary showing execution decision for integration tests

Co-Authored-By: Claude <[email protected]>
User request: "ensure that rust integration tests are also properly triggered by the CI matrix"

- Update ci_matrix.py to trigger test:unit-proxy for all prism-proxy changes
- Trigger test:integration-rust for prism-proxy/src/ and prism-proxy/tests/ changes
- Add Rust integration tests step to test-proxy job
- Apply step-level conditions to test-proxy for consistent CI visibility
- Add step summary showing execution decision for Rust tests

Co-Authored-By: Claude <[email protected]>
@mergify
Copy link
Contributor

mergify bot commented Jan 6, 2026

The PR Status Check has failed. Please review the CI logs and fix any issues.

Common issues:

  • Test failures
  • Linting errors
  • Documentation validation failures

You can run checks locally:

task test-parallel-fast  # Run tests
task lint-parallel       # Run linters
uv run tooling/validate_docs.py  # Validate docs

User request: "fix ci issues"

Use grouped redirects { ...; } >> file instead of individual echo redirects
to satisfy shellcheck SC2129 style requirement.

Co-Authored-By: Claude <[email protected]>
@mergify
Copy link
Contributor

mergify bot commented Jan 6, 2026

The PR Status Check has failed. Please review the CI logs and fix any issues.

Common issues:

  • Test failures
  • Linting errors
  • Documentation validation failures

You can run checks locally:

task test-parallel-fast  # Run tests
task lint-parallel       # Run linters
uv run tooling/validate_docs.py  # Validate docs

@mergify
Copy link
Contributor

mergify bot commented Jan 12, 2026

Merge Queue Status

✅ The pull request has been merged at 0be2d92

This pull request spent 14 minutes 46 seconds in the queue, including 8 minutes 48 seconds running CI.
The checks were run on draft #291.

Required conditions to merge
  • #review-threads-unresolved = 0 [🛡 GitHub repository ruleset rule main]
  • any of [🛡 GitHub branch protection]:
    • check-success = PR Status Check
    • check-neutral = PR Status Check
    • check-skipped = PR Status Check
  • any of [🛡 GitHub repository ruleset rule main]:
    • check-success = PR Status Check
    • check-neutral = PR Status Check
    • check-skipped = PR Status Check

@mergify mergify bot added the queued label Jan 12, 2026
mergify bot added a commit that referenced this pull request Jan 12, 2026
@mergify mergify bot merged commit 1fe0749 into main Jan 12, 2026
34 checks passed
@mergify mergify bot deleted the fix/ci-matrix-name-interpolation branch January 12, 2026 20:19
@mergify mergify bot removed the queued label Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants