-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile.linux
More file actions
49 lines (42 loc) · 1.67 KB
/
Copy pathDockerfile.linux
File metadata and controls
49 lines (42 loc) · 1.67 KB
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
42
43
44
45
46
47
48
49
# syntax=docker/dockerfile:1
FROM swift:6.0-jammy AS builder
ARG UBUNTU_PORTS_MIRROR=http://ports.ubuntu.com/ubuntu-ports
RUN sed -i "s@http://ports.ubuntu.com/ubuntu-ports@${UBUNTU_PORTS_MIRROR}@g" /etc/apt/sources.list \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
libgtk-3-dev \
libsqlite3-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /src
COPY . .
RUN swift build -c release -Xswiftc -static-stdlib
FROM builder AS tester
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
curl \
adwaita-icon-theme \
fonts-noto-color-emoji \
fonts-noto-cjk \
librsvg2-common \
shared-mime-info \
xvfb \
&& rm -rf /var/lib/apt/lists/*
FROM ubuntu:22.04
ARG UBUNTU_PORTS_MIRROR=http://ports.ubuntu.com/ubuntu-ports
RUN runtime_mirror="$(printf '%s' "${UBUNTU_PORTS_MIRROR}" | sed 's@^https:@http:@')" \
&& sed -i "s@http://ports.ubuntu.com/ubuntu-ports@${runtime_mirror}@g" /etc/apt/sources.list \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates \
adwaita-icon-theme \
fonts-noto-color-emoji \
fonts-noto-cjk \
libcurl4 \
libgtk-3-0 \
librsvg2-common \
libsqlite3-0 \
shared-mime-info \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /src/.build/release/TokenClock /usr/local/bin/tokenclock-gui
COPY --from=builder /src/.build/release/TokenClock_TokenClock.resources /usr/local/bin/TokenClock_TokenClock.resources
ENTRYPOINT ["/usr/local/bin/tokenclock-gui"]