1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# CI image with Tauri 2 system dependencies pre-installed.
# Used by offline-quality-gates.yml for jobs that compile allframe-tauri on Linux.
#
# Build: docker build -f .github/Dockerfile.ci -t ghcr.io/all-source-os/all-frame-ci:latest .
# Push: docker push ghcr.io/all-source-os/all-frame-ci:latest
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
# Tauri 2 build dependencies for Ubuntu
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
curl \
ca-certificates \
pkg-config \
git \
libgtk-3-dev \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
libglib2.0-dev \
libssl-dev \
bc \
&& rm -rf /var/lib/apt/lists/*
# Install Rust to a shared location accessible by any user.
# GitHub Actions containers may run as non-root.
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
| sh -s -- -y --default-toolchain stable --no-modify-path \
&& chmod -R a+rw $RUSTUP_HOME $CARGO_HOME
RUN rustup component add clippy \
&& cargo --version \
&& rustc --version \
&& clippy-driver --version