Skip to content

ci: run install tests in parallel on macOS and Linux - #551

Draft
zimeg wants to merge 12 commits into
mainfrom
worktree-install-tests
Draft

ci: run install tests in parallel on macOS and Linux#551
zimeg wants to merge 12 commits into
mainfrom
worktree-install-tests

Conversation

@zimeg

@zimeg zimeg commented May 18, 2026

Copy link
Copy Markdown
Member

Summary

  • Split install tests into a separate matrix job running in parallel with lints/unit tests
  • Runs on both macos-latest and ubuntu-latest to validate install scripts on both platforms
  • Removes install tests from the main lint-test job to speed up the critical path

Test plan

  • Verify install-tests job runs successfully on macOS
  • Verify install-tests job runs successfully on Ubuntu
  • Verify lint-test job still passes without install tests step

🤖 Generated with Claude Code

Co-Authored-By: Claude svc-devxp-claude@slack-corp.com

zimeg and others added 10 commits May 11, 2026 11:39
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
4.1.0 is already released without arch-specific Linux archives,
so the gate needs to target 4.2.0 when they'll first be available.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Split install tests into a separate matrix job that runs in parallel
with lints and unit tests on both macOS and Ubuntu.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
@zimeg
zimeg requested a review from a team as a code owner May 18, 2026 18:52
@zimeg
zimeg marked this pull request as draft May 18, 2026 18:53
@codecov

codecov Bot commented May 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.66%. Comparing base (afcb85d) to head (8990f22).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #551      +/-   ##
==========================================
+ Coverage   71.64%   71.66%   +0.02%     
==========================================
  Files         225      225              
  Lines       19074    19080       +6     
==========================================
+ Hits        13665    13674       +9     
+ Misses       4202     4201       -1     
+ Partials     1207     1205       -2     

☔ 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.

zimeg and others added 2 commits May 18, 2026 13:07
macOS runners are slower and more expensive with no benefit for
linting, unit tests, or health score reporting.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
@zimeg

zimeg commented May 18, 2026

Copy link
Copy Markdown
Member Author

🔭 The most recent commits were experimental in timing. We find:

  • Linux - Lints+Tests: 3:15 minutes
  • MacOS - Lints+Tests: 2:18 minutes

Base automatically changed from worktree-linux-arm64 to main May 21, 2026 22:09
@zimeg

zimeg commented Aug 28, 2026

Copy link
Copy Markdown
Member Author

Adjacent change worth folding in: #652 (the Pscx Expand-Archive fix for #651) restructures this same .github/workflows/tests.yml — it pulls install tests out of the lint-test job into a dedicated install-tests matrix, which is exactly the split this PR proposes, and it already covers macos-latest + ubuntu-latest plus a windows-latest leg. So the CI-matrix half of this PR is largely subsumed once #652 lands; the still-unique parts here are the archive.sh / install.sh / install-dev.sh / .goreleaser.yml / cli_autoupdate.go changes, which #652 doesn't touch.

Suggest rebasing this on top of #652 and narrowing it to the archive/install-script + autoupdate changes, so the two don't clobber each other in tests.yml. Happy to help reconcile.

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