Performance test suite on a self-hosted Windows runner#27
Closed
astubbs wants to merge 3 commits intodev/maven-publishfrom
Closed
Performance test suite on a self-hosted Windows runner#27astubbs wants to merge 3 commits intodev/maven-publishfrom
astubbs wants to merge 3 commits intodev/maven-publishfrom
Conversation
2 tasks
On every push to master, .github/workflows/publish.yml reads the version from pom.xml and either: - Publishes a snapshot (version ends in -SNAPSHOT) - Publishes a release + creates git tag + GitHub release (otherwise) The pom.xml version is the source of truth - no maven-release-plugin dance. To cut a release, merge a PR that strips -SNAPSHOT. Also adds --pinentry-mode loopback to the maven-gpg-plugin so headless CI signing works without a TTY. Documents required GitHub secrets in AGENTS.md and the README dev section: - MAVEN_CENTRAL_USERNAME / MAVEN_CENTRAL_PASSWORD - MAVEN_GPG_PRIVATE_KEY / MAVEN_GPG_PASSPHRASE Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds a separate performance test suite that runs on dedicated hardware via a self-hosted GitHub Actions runner, so the volume tests don't slow down or destabilize regular CI. Test changes: - Tag VeryLargeMessageVolumeTest, LargeVolumeInMemoryTests, and MultiInstanceHighVolumeTest with @tag("performance") - Failsafe now reads excluded.groups (defaults to "performance") and included.groups (defaults to empty), so the performance group is excluded by default. Override with -Dincluded.groups=performance to run only perf, or -Dexcluded.groups= to run everything. Scripts: - bin/performance-test.sh and bin/performance-test.cmd run the perf suite locally (.cmd for Windows since the runner is on Windows) Workflow: - .github/workflows/performance.yml targets a self-hosted runner labelled [self-hosted, windows, performance] - Triggers: workflow_dispatch (manual) + weekly schedule - Never runs on PRs (security: self-hosted + untrusted code = bad) Documentation: - docs/SELF_HOSTED_RUNNER.md walks through one-time runner setup on Windows with Docker Desktop and the WSL2 backend - README template and AGENTS.md mention the performance suite and link to the runner setup doc - Fix a stale link in README to the renamed VolumeTests file Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a "License headers" section to AGENTS.md explaining how to skip the Mycila license-maven-plugin check. This avoids two recurring problems: - The plugin's git-derived copyright years break inside git worktrees - It auto-bumps years on every touched file, creating noise in git status that distracts from real changes The bin/build.sh and bin/ci-build.sh scripts already pass the flag. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
848ddbc to
faa3adb
Compare
230e5d9 to
a66b635
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Splits the volume tests into a separate "performance" test group that runs on a self-hosted GitHub Actions runner (Windows + Docker Desktop), so they don't slow down or destabilize the regular CI.
Test changes
@Tag("performance"):Workflow
`.github/workflows/performance.yml`:
Scripts
Documentation
What you need to do once after merging
Stacked on
This PR is stacked on top of #26 (dev/maven-publish), which is itself stacked on #25 and #24.
🤖 Generated with Claude Code