Ian Hickson e768c92fbc
Add many more global analyses. (#47875)
* Update packages.

* Add many more global analyses.

* Catch trailing spaces and trailing newlines in all text files.
  Before we were only checking newly added files, but that means we
  missed some.

* Port the trailing spaces logic to work on Windows too.

* Correct all the files with trailing spaces and newlines.

* Refactor some of the dev/bots logic into a utils.dart library.
  Notably, the "exit" and "print" shims for testing are now usable
  from test.dart, analyze.dart, and run_command.dart.

* Add an "exitWithError" function that prints the red lines and
  then exits. This is the preferred way to exit from test.dart,
  analyze.dart, and run_command.dart.

* More consistency in the output of analyze.dart.

* Refactor analyze.dart to use the _allFiles file enumerating logic
  more widely.

* Add some double-checking logic to the _allFiles logic to catch
  cases where changes to that logic end up catching fewer files
  than expected (helps prevent future false positives).

* Add a check to prevent new binary files from being added to
  the repository. Grandfather in the binaries that we've already
  added.

* Update all the dependencies (needed because we now import crypto in
  dev/bots/analyze.dart).
2019-12-30 17:12:19 -08:00
..
2019-11-21 12:09:02 -08:00

This directory includes scripts and tools for setting up Flutter's continuous integration environments.

Cirrus Linux

Flutter's Linux tasks run on a custom Docker image. The Dockerfile for this image can be found at /dev/ci/docker_linux/Dockerfile. On each new change to this Dockerfile, Cirrus will build a new version of the Docker image as a dependency to any Linux tests. It is no longer necessary to manually build and push the Docker image locally.

NOTE: there are some factors external to the actual Dockerfile that would necessitate rebuilding the Docker image, such as upstream code changes, (Linux distribution) repository updates, or a file that gets COPYied into the image changing. In this case, a trivial Dockerfile change (such as a comment) would invalidate the cache and trigger a rebuild.