ci: split cloud/VM workflows into provider-specific files - #325
Merged
Conversation
Skip CI runs when changes only affect files outside the core code, playbooks, tests, and dependency paths. Both workflows now watch the same set of paths for pull_request and push triggers.
Contributor
📝 WalkthroughWalkthroughSplits combined BATS CI workflows into provider-specific cloud workflows and a distro-specific VM workflow, updates the janitor workflow to source a local .env and trigger on the new workflows, and changes the janitor script to iterate over all Changes
Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. No actionable comments were generated in the recent review. 🎉 Comment |
Contributor
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In @.github/workflows/bats-vm.yml:
- Around line 24-36: The push workflow's path triggers in
.github/workflows/bats-vm.yml incorrectly include cloud workflow files; edit the
push.paths array (the paths list under the push trigger) and remove the entries
".github/workflows/bats-cloud.yml" and
".github/workflows/bats-cloud-janitor.yml" so those cloud workflows are not
triggered by pushes in this VM workflow, leaving the other path entries
untouched.
- Around line 8-20: The workflow path filters include cloud-specific entries
".github/workflows/bats-cloud.yml" and
".github/workflows/bats-cloud-janitor.yml" which should not trigger the VM
workflow; remove those two entries from the paths: list in the bats-vm workflow
(i.e., delete the lines containing ".github/workflows/bats-cloud.yml" and
".github/workflows/bats-cloud-janitor.yml") so the VM tests only run for
relevant files like "app/**", "tests/bats/**", "bats.sh", etc.
Split monolithic `bats-cloud.yml` and `bats-vm.yml` workflows into separate provider/distro-specific files with path filters to reduce unnecessary CI runs: - `bats-cloud-aws.yml` - AWS cloud tests only - `bats-cloud-do.yml` - DigitalOcean cloud tests only - `bats-vm-ubuntu24.yml` - Ubuntu 24.04 VM tests only Path filters exclude irrelevant provider code paths: - AWS workflow excludes DO-specific files - DO workflow excludes AWS and CF-specific files - VM workflow excludes all cloud provider files Updated janitor workflow to reference split cloud workflows and load credentials from .env file instead of job-level env vars for consistency with test workflows. Cloud janitor now discovers active workflows dynamically by globbing `bats-cloud-*.yml` files instead of hardcoding workflow name.
added 2 commits
February 10, 2026 16:01
Simplify cloud test SSH key setup by directly using GitHub Secrets instead of attempting to source from .env files with fallback logic. This makes the configuration more explicit and aligns with GitHub Actions best practices.
This was referenced Feb 20, 2026
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
Split monolithic
bats-cloud.ymlandbats-vm.ymlworkflows into separate provider/distro-specific files with path filters to reduce unnecessary CI runs.New workflows:
bats-cloud-aws.yml- AWS cloud tests onlybats-cloud-do.yml- DigitalOcean cloud tests onlybats-vm-ubuntu24.yml- Ubuntu 24.04 VM tests onlyPath filtering:
Other changes:
workflow_runtrigger.envfile for consistency with test workflowsfind .github/workflows/bats-cloud-*.ymlBenefits