Repository navigation
Conversation
Adds .github/workflows/ci.yml: on ready pull requests and pushes to main it runs docs freshness and whitespace checks, dart format on changed files, flutter analyze, flutter test with changed-line coverage (85%, 90% for critical paths) and the tool/update tests, plus the Android debug APKs and the Linux debug build with the native/updater Rust checks when their paths change. Jobs run only on the pool's self-hosted ci-light and ci-heavy runners; .github/ci/setup.sh installs the pinned, checksum-verified Flutter, JDK, Android SDK and Python tools into the runner cache for this repository.
… regenerate readme.html diff-cover cannot mix LCOV and Cobertura reports, so the tool/update coverage is written as LCOV. docs/readme.html was stale on main (README gained the Application updates section without a re-render); it is regenerated with python3 tool/render_docs.py.
…iling check A library that no test imports was missing from lcov.info, so diff-cover did not count its new lines; a generated test now loads every library under lib/. Analyze, the tool/update tests and the coverage check run even when an earlier check of their job failed.
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.
Not ready for review yet: the linux job's native/updater checks fail on a compile defect on
main(outside this PR's.github/**scope; the fix is in #7). Every other check, including the Linux desktop build, is green on the CI pool.Outcome
.github/workflows/ci.ymlruns the Tier-1 merge gate on ready pull requests (types opened, synchronize, reopened, ready_for_review; drafts skipped) and on pushes tomain, withconcurrencycancel-in-progress, only on the shared pool's self-hostedci-heavyrunners (no machine pinned) (nopull_request_target, onlyactions/checkoutpinned by SHA).git diff --checkand freshness oftool/render_docs.pyoutput.flutter pub get --enforce-lockfile,dart format --set-exit-if-changedon changed Dart files (the tree is not format-clean yet),flutter analyze --no-pub --fatal-infos --fatal-warnings.flutter test --no-pub --coverage, the tool/update unittest under coverage.py, diff-cover 10.6.0 at 85% (90% for lib/update/, lib/proxy/system_proxy.dart, lib/data/store.dart, tool/update/, native/updater/**).flutter build apk --debug --flavor directand--flavor play.flutter build linux --debug..github/ci/setup.shinstalls Flutter, JDK 17.0.21+9, Android cmdline-tools 22.0 (+ platform 36, build-tools 36.0.0, NDK 28.2.13676358) and hashed Python tools (.github/ci/requirements.txt) into$CI_CACHE_DIR/proxy-app, verified by SHA-256 and reused; HOME, pub, Cargo and Gradle caches live there too; no sudo, no actions/cache.docs/readme.html, which was stale onmain(README gained "Application updates" without a re-render); the new docs check caught it.Documentation
The gate is documented in the workflow header comment. A CI section for docs/development.md follows in the docs area (outside this PR's
.github/**scope).Evidence
flutter build linux --debugpassed (✓ Built build/linux/x64/debug/bundle/shifter_app).native/updater/src/lib.rs:36callsVelopackLocator::get_root_dir, which velopack 1.2.161 compiles only on non-Linux targets, so the updater has never built on Linux (defect onmain, fixed in CI-2 Build the desktop updater bridge on Linux #7). This PR is rebased on it once it merges and must then be fully green.flutter test(121 passed, 1 failed: "ci canary fails on purpose", Expected 3, Actual 2); changed-line coverage ("lib/ci_canary.dart (0.0%): Missing lines 2,4-5", below 85%);dart format("Changed lib/ci_canary.dart");flutter analyze(unused_local_variable at lib/ci_canary.dart:3:9). docs and android passed; linux failed only on the same cargo defect.Boundary: n/a (app repository).