ci: skip xcode suites on non-native changes and publish prebuilds to github releases - #19
Merged
Timo972 merged 3 commits intoAug 19, 2026
Conversation
…github releases - wda-tests.yml / functional-test.yml: add pull_request paths filters so the ~40 macOS jobs only run when files that can affect them change (native sources, build scripts, the workflows themselves). CI/docs/JS-only PRs no longer rebuild and run the full Xcode suites (DRO-2321). - unit-test.yml: restrict the push trigger to master so PR branch pushes do not run the node suite twice (push + pull_request events). - publish.js.yml: guard the upstream npm release flow to appium/WebDriverAgent; on the fork it built the six WDA zips on every master push only for semantic-release to no-op. - prebuild-r2.yml -> prebuild.yml: publish prebuilt artifacts as GitHub release assets instead of Cloudflare R2. Tagged releases get the zips + SHA256SUMS + BUILD_INFO.txt attached (latest stable via releases/latest/download/...); master pushes update a rolling 'preview' prerelease in place. Builds now retry (fixes the tvOS simulator destination flake that broke the last preview publish) and only run when artifact inputs change. R2 secrets are no longer needed. Co-Authored-By: Claude Fable 5 <[email protected]>
The appium/appium-workflows/pr-title.yml@main reusable-workflow call has produced a silent startup_failure on every PR since appium-workflows#5 (2026-06-27) rewrote it, while the same call works on the upstream repo. Inline the single action it wraps (amannn/action-semantic-pull-request@v6) so the check actually runs. Co-Authored-By: Claude Fable 5 <[email protected]>
Drop the rolling preview prerelease and master-push trigger: prebuilt artifacts are only needed for hand-created GitHub releases, where the workflow builds from the release tag and attaches the zips plus SHA256SUMS/BUILD_INFO.txt to that release. Co-Authored-By: Claude Fable 5 <[email protected]>
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.
What
CI triggers
paths:filter on the PR trigger — the macOS build/analyze/test matrix only runs when files that can affect it change (native sources,Scripts/build.sh,Fastlane/**,Gemfile*, the workflow/actions themselves).lib/**,test/**,package.json,tsconfig.json,Scripts/build-webdriveragent.mjs).pushtrigger limited tomasterso PR branch pushes don't run the suite twice (push + pull_request events).if: github.repository == 'appium/WebDriverAgent'; it isn't used on this fork. Single-line guard keeps the file mergeable on upstream syncs.Conventional Commitscheck was failing at startup on every PR since the reusable workflow it referenced was rewritten upstream; it now callsamannn/action-semantic-pull-request@v6directly (same action underneath).masterhas no required status checks, so path-filtered workflows can't leave PRs stuck on "Expected" checks.Prebuilt artifacts
SHA256SUMS+BUILD_INFO.txtto that release (releases/latest/download/<asset>always points at the latest). The push-triggered builds and external mirror uploads are removed.nick-fields/retry(same as the upstream Release workflow) to survive transient simulator-destination errors.Testing
actionlintclean on all changed files (remaining findings are pre-existing info-level notes in upstream scripts).🤖 Generated with Claude Code