| # Copyright 2022 The Flutter Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| # Flutter (https://flutter.io) Developement Environment for Linux | |
| # =============================================================== | |
| # | |
| # This environment passes all Linux Flutter Doctor checks and is sufficient | |
| # for building Android applications and running Flutter tests. | |
| # | |
| # To build iOS applications, a Mac development environment is necessary. | |
| # | |
| # ==================================================================== | |
| # This is used to build the dashboard, app_dart, and auto_submit bots | |
| # ==================================================================== | |
| FROM debian:trixie-slim | |
| # Install Dependencies. | |
| RUN set -eux; \ | |
| apt-get update; \ | |
| apt-get install -y --no-install-recommends \ | |
| ca-certificates \ | |
| curl \ | |
| dnsutils \ | |
| git \ | |
| openssh-client \ | |
| unzip \ | |
| ; \ | |
| rm -rf /var/lib/apt/lists/* | |
| # Install Flutter. | |
| ENV FLUTTER_ROOT="/opt/flutter" | |
| RUN git clone https://github.com/flutter/flutter "${FLUTTER_ROOT}" | |
| ENV PATH="${FLUTTER_ROOT}/bin:${PATH}" | |
| WORKDIR "$FLUTTER_ROOT" | |
| # Switch to stable channel | |
| RUN git switch stable | |
| # Disable analytics and crash reporting on the builder. | |
| RUN flutter config \ | |
| --no-analytics \ | |
| --enable-web \ | |
| --no-enable-linux-desktop \ | |
| --no-enable-macos-desktop \ | |
| --no-enable-windows-desktop \ | |
| --no-enable-android \ | |
| --no-enable-ios \ | |
| --no-enable-fuchsia | |
| # Only download the websdk; cocoon dashboard only builds for that. | |
| RUN flutter precache --web | |
| # Perform a doctor run. | |
| RUN flutter doctor -v | |
| ENTRYPOINT [ "flutter" ] |