|
1 | 1 | # The Flutter version is not important here, since the CI scripts update Flutter |
2 | 2 | # before running. What matters is that the base image is pinned to minimize |
3 | 3 | # unintended changes when modifying this file. |
4 | | -FROM cirrusci/flutter@sha256:505fe8bce2896c75b4df9ccf500b1604155bf932af7465ffcc66fcae8612f82f |
| 4 | +# This is the hash for the 3.0.0 image. |
| 5 | +FROM cirrusci/flutter@sha256:0224587bba33241cf908184283ec2b544f1b672d87043ead1c00521c368cf844 |
5 | 6 |
|
6 | 7 | RUN apt-get update -y |
7 | 8 |
|
| 9 | +# Set up Firebase Test Lab requirements. |
8 | 10 | RUN apt-get install -y --no-install-recommends gnupg |
9 | | - |
10 | | -# Add repo for gcloud sdk and install it |
11 | 11 | RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | \ |
12 | 12 | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list |
13 | | - |
14 | 13 | RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \ |
15 | 14 | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - |
16 | | - |
17 | 15 | RUN apt-get update && apt-get install -y google-cloud-sdk && \ |
18 | 16 | gcloud config set core/disable_usage_reporting true && \ |
19 | 17 | gcloud config set component_manager/disable_update_check true |
20 | 18 |
|
21 | | -RUN yes | sdkmanager \ |
22 | | - "platforms;android-27" \ |
23 | | - "build-tools;27.0.3" \ |
24 | | - "extras;google;m2repository" \ |
25 | | - "extras;android;m2repository" |
26 | | - |
27 | | -RUN yes | sdkmanager --licenses |
28 | | - |
29 | | -# Install formatter. |
| 19 | +# Install formatter for C-based languages. |
30 | 20 | RUN apt-get install -y clang-format |
31 | 21 |
|
32 | | -# Install xvfb to allow running headless |
33 | | -RUN apt-get install -y xvfb libegl1-mesa |
34 | | -# Install Linux desktop build tool requirements. |
| 22 | +# Install Linux desktop requirements: |
| 23 | +# - build tools. |
35 | 24 | RUN apt-get install -y clang cmake ninja-build file pkg-config |
36 | | -# Install necessary libraries. |
| 25 | +# - libraries. |
37 | 26 | RUN apt-get install -y libgtk-3-dev libblkid-dev liblzma-dev libgcrypt20-dev |
| 27 | +# - xvfb to allow running headless. |
| 28 | +RUN apt-get install -y xvfb libegl1-mesa |
38 | 29 |
|
39 | | -# Add repo for Google Chrome and install it |
| 30 | +# Install Chrome and make it the default browser, for url_launcher tests. |
| 31 | +# IMPORTANT: Web tests should use a pinned version of Chromium, not this, since |
| 32 | +# this isn't pinned, so any time the docker image is re-created the version of |
| 33 | +# Chrome may change. |
40 | 34 | RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - |
41 | 35 | RUN echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list |
42 | 36 | RUN apt-get update && apt-get install -y --no-install-recommends google-chrome-stable |
43 | | - |
44 | | -# Make Chrome the default so http: and file: has a handler for url_launcher tests. |
| 37 | +# Make Chrome the default for http:, https: and file:. |
45 | 38 | RUN apt-get install -y xdg-utils |
46 | 39 | RUN xdg-settings set default-web-browser google-chrome.desktop |
47 | 40 | RUN xdg-mime default google-chrome.desktop inode/directory |
0 commit comments