flutter/dev/ci/docker_linux
Greg Spencer 9cea691752
Switch to Debian bullseye, update nodejs to npm package, add flutter desktop run dependencies (#89309)
This change updates the Dockerfile for Cirrus builds:

- Switch to a newer stable Debian build (bullseye instead of stretch)
- Eliminates the very old (10) nodejs install in favor of the npm package
- Installs OpenJDK so that Android SDK manager can run on bullseye
- Installs the prerequisites for Linux desktop flutter run.

The motivation for this change was to include the dependencies for Linux desktop flutter run so that I can run tests that use desktop Flutter apps, but that needs cmake 3.10 or later, and stretch doesn't have a cmake that new. Of course, there's also no openjdk-8-jre for bullseye, so I used OpenJDK from JFrog instead.
2021-09-08 09:52:39 -07:00
..

This directory includes scripts to build the docker container image used for building flutter/flutter in our CI system (currently Cirrus).

To run the scripts, you have to set up docker and gcloud. Please refer to the internal flutter team doc for how to set up in a Google internal environment.

To debug the image locally:

  • (Optional) edit the Dockerfile to change how the container image is built.
  • Run ./docker_build.sh to build the container image (sudo permission is required)
  • Run ./docker_attach.sh to start a container from the image and attach to its internal bash shell. From here, you can invoke shell commands from the .cirrus.yml (you will have to manually run any setup steps; e.g. the container will not have the Flutter repo cloned yet).