Skip to content

Add TLS E2E job running in parallel with existing E2E#201

Merged
ikaro1192 merged 3 commits into
mainfrom
worktree-add-ci-tls
Apr 19, 2026
Merged

Add TLS E2E job running in parallel with existing E2E#201
ikaro1192 merged 3 commits into
mainfrom
worktree-add-ci-tls

Conversation

@ikaro1192

Copy link
Copy Markdown
Owner

Summary

  • Adds a new e2e-tls job to .github/workflows/ci.yml that runs in parallel with the existing e2e job after build completes.
  • Invokes the existing e2e/run-tls.sh (which already handles cert generation, TLS compose overlay, test 15 execution, and teardown) with STAGING=prebuilt so it reuses the binaries produced by build.
  • Matches the existing e2e job shape: x86_64 + aarch64 matrix, PR/main-only trigger, Docker Hub login, failure log dump, and explicit teardown. Coverage collection is intentionally omitted to keep the codecov upload path in the standard e2e job unchanged.

Test plan

  • CI run on this PR shows build → (e2ee2e-tls) executing in parallel and both passing.
  • e2e-tls log shows cert generation, TLS compose stack starting, and test 15 assertions (@@ssl_ca non-empty, cluster Healthy under require_secure_transport=ON) passing.
  • Intentionally break test 15 on a throwaway branch to confirm the Dump logs on failure step surfaces puremyhad / mysql-* logs (optional).

🤖 Generated with Claude Code

Integrates the TLS end-to-end path into CI so regressions in the TLS
transport (mysql-haskell TLS negotiation, cert volume mounting,
require_secure_transport=ON handling) are caught before merge. The
existing run-tls.sh already handles cert generation, compose startup,
test 15, and teardown, so the CI job simply invokes it with
STAGING=prebuilt to reuse binaries from the build job.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@codecov

codecov Bot commented Apr 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.14%. Comparing base (6b49ca5) to head (3211b05).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #201      +/-   ##
==========================================
+ Coverage   97.13%   97.14%   +0.01%     
==========================================
  Files          50       50              
  Lines        8035     8066      +31     
==========================================
+ Hits         7805     7836      +31     
  Misses        230      230              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

ikaro1192 and others added 2 commits April 19, 2026 12:21
Add SKIP_TEARDOWN=1 handling to run-tls.sh mirroring run-all.sh, and set
it in the CI job so the "Dump logs on failure" step can actually read
puremyhad/mysql container logs before teardown.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
openssl genrsa creates the output with 0600 permissions. Linux bind
mounts preserve the host UID, so the mysql user (uid 999) inside the
mysql:8.4 container could not read server-key.pem owned by the CI
runner user, causing: "SSL error: Unable to get private key from
/etc/mysql/tls/server-key.pem".

Relaxing to 0644 is safe here because these are self-signed certificates
generated fresh for each test run.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ikaro1192 ikaro1192 merged commit ce00446 into main Apr 19, 2026
17 of 18 checks passed
@ikaro1192 ikaro1192 deleted the worktree-add-ci-tls branch April 19, 2026 05:07
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