Skip to content

Run CI incrementally and add Python tooling and a GitHub launcher - #32

Merged
andre487 merged 2 commits into
mainfrom
feat/selective-ci
Sep 8, 2026
Merged

andre487 merged 2 commits into
mainfrom
feat/selective-ci

Conversation

@andre487

@andre487 andre487 commented Sep 8, 2026

Copy link
Copy Markdown
Owner

CI currently rebuilds Android even when a PR only changes documentation or Python tooling. Select each suite from changes since its last successful ancestor check in the same PR and with the same recorded base. Failed, cancelled and skipped jobs do not advance coverage. Search the latest 30 completed branch CI runs through gh; use the full PR diff when no reliable history exists. Exclude the current run, later runs, other PRs, forks and rebased-away commits. Pushes to main compare push endpoints.

Keep unknown paths and shared CI/build inputs conservative, make diff failures fail the required Change scope check, show per-suite baselines in the summary, and handle intentionally absent APK artifacts when Android is skipped. Name Actions runs CI · .

Add pinned Black/isort formatting and Python unit tests through Bundler/Fastlane (python_format, python_tests, python_checks), consistently respecting PYTHON. Add a standard-library interactive launcher using native gh authentication and commands: choose an open repository PR and rerun all CI jobs or failed jobs only for its current commit. Support --dry-run, --yes/-y, confirmation and stale-head detection without automatic retries of ambiguous launches. Synchronize English/Russian documentation. No device-farm integration or device-test requirements are included.

Validation: 28 Python tests and Black/isort checks pass locally through Fastlane. Tests cover independent successful baselines, failed/skipped/cancelled jobs, different PR bases, non-ancestor commits, GitHub history failure, full PR fallback, renamed/deleted code, launcher run selection and safe argument passing. Workflow YAML and Fastlane syntax parse. A real gh launcher dry run with -y selected this PR and its completed CI without launching jobs. All four GitHub CI checks passed for the final incremental implementation (run 34226399411). A read-only local simulation of a subsequent unchanged check queried real GitHub history, reused that successful run for all three suites, and selected no tests.

Repository protection was first restored by removing orphaned requirements from closed PR #31. The verified Change scope and Python tests and style checks are now required alongside Android and Go. Selectel UI required remains removed.

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

APK artifacts

Built from commit 84e59f4b by CI run #118.
Artifacts expire after 14 days. Neither APK uses the MegaProxy release key.

@andre487 andre487 changed the title Select CI checks by full PR diff and add a GitHub Actions launcher Run CI incrementally and add Python tooling and a GitHub launcher Sep 8, 2026
@andre487
andre487 merged commit 4acca42 into main Sep 8, 2026
4 checks passed
@andre487
andre487 deleted the feat/selective-ci branch September 8, 2026 12:40
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