Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ci: skip xcode suites on non-native changes and publish prebuilds to github releases - #19

Merged
Timo972 merged 3 commits into
masterfrom
timo/dro-2321-optimize-mobilerun-webdriveragent-ci
Aug 19, 2026
Merged

Timo972 merged 3 commits into
masterfrom
timo/dro-2321-optimize-mobilerun-webdriveragent-ci

Conversation

@Timo972

@Timo972 Timo972 commented Aug 19, 2026

Copy link
Copy Markdown

What

CI triggers

  • wda-tests.yml: 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).
  • functional-test.yml: same treatment (native sources + lib/**, test/**, package.json, tsconfig.json, Scripts/build-webdriveragent.mjs).
  • unit-test.yml: push trigger limited to master so PR branch pushes don't run the suite twice (push + pull_request events).
  • publish.js.yml: the upstream npm release flow is guarded with if: github.repository == 'appium/WebDriverAgent'; it isn't used on this fork. Single-line guard keeps the file mergeable on upstream syncs.
  • pr-title.yml: the Conventional Commits check was failing at startup on every PR since the reusable workflow it referenced was rewritten upstream; it now calls amannn/action-semantic-pull-request@v6 directly (same action underneath).

master has no required status checks, so path-filtered workflows can't leave PRs stuck on "Expected" checks.

Prebuilt artifacts

  • prebuild-r2.yml → prebuild.yml: runs only when a release is published on GitHub — builds the six runner zips from the release tag and attaches them + SHA256SUMS + BUILD_INFO.txt to that release (releases/latest/download/<asset> always points at the latest). The push-triggered builds and external mirror uploads are removed.
  • Builds are wrapped in nick-fields/retry (same as the upstream Release workflow) to survive transient simulator-destination errors.

Testing

  • actionlint clean on all changed files (remaining findings are pre-existing info-level notes in upstream scripts).
  • This PR itself exercises the filters: Conventional Commits passes with the inlined action; WDA Tests / Functional Tests run here only because the PR modifies their workflow files — a PR that doesn't touch the filtered paths skips both.
  • The prebuild path runs on the next published GitHub release.

🤖 Generated with Claude Code

Timo972 and others added 3 commits August 19, 2026 20:31
…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]>
@Timo972
Timo972 merged commit 5c4d33e into master Aug 19, 2026
41 of 52 checks passed
@Timo972
Timo972 deleted the timo/dro-2321-optimize-mobilerun-webdriveragent-ci branch August 19, 2026 19:14
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