-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
59 lines (53 loc) · 2.04 KB
/
Copy pathDockerfile
File metadata and controls
59 lines (53 loc) · 2.04 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
50
51
52
53
54
55
56
57
58
59
FROM archlinux:base-devel AS base
ENV CI=true
ENV GODOT4_BIN=/usr/bin/godot
ARG DECKTRICKS_GODOT_VERSION=4.4.1.stable
ENV DECKTRICKS_GODOT_VERSION=${DECKTRICKS_GODOT_VERSION}
RUN pacman -Syu --noconfirm git flatpak fontconfig p7zip rustup vim nodejs godot
RUN pacman -R --noconfirm godot
RUN rustup default stable
#RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
#RUN ln -sf /root/.cargo/bin/cargo /usr/bin/cargo
# {{{
# NOTE: these are copied in like this instead of downloaded from elsewhere
# because we need 4.4 to stop a terrible Linux bug in Godot,
# and download times from tuxfamily are quite slow.
# TODO: Switch to fetching from github once 4.4 is officially released
RUN mkdir -p /root/.local/share/godot/export_templates/$DECKTRICKS_GODOT_VERSION/
RUN mkdir -p /tmp/godot_extraction
COPY godot_binary.7z linux_release.7z linux_debug.7z /tmp/godot_extraction/
WORKDIR /tmp/godot_extraction
RUN 7z x godot_binary.7z
RUN 7z x linux_release.7z
RUN 7z x linux_debug.7z
RUN cp godot /usr/bin/godot
WORKDIR /root/.local/share/godot/export_templates/${DECKTRICKS_GODOT_VERSION}/
RUN cp /tmp/godot_extraction/linux_release.x86_64 linux_release.x86_64
RUN cp /tmp/godot_extraction/linux_debug.x86_64 linux_debug.x86_64
WORKDIR /
RUN rm -r /tmp/godot_extraction
# }}}
RUN mkdir -p /work
WORKDIR /work
#RUN apt-get -y install git
# Seed cargo cache
# Install a tiny package (and all of flatpak's ridiculous dependencies)
# Otherwise, flatpak list will fail
RUN flatpak list
FROM base AS gitclone
RUN git clone https://github.com/MrAwesome/decktricks.git
FROM gitclone AS buildetc
#RUN apt-get -y install gcc pkg-config libssl-dev
WORKDIR /work/decktricks
RUN cargo build
RUN cargo build --release
RUN cargo test
RUN cargo test --release
WORKDIR /work/decktricks/gui/rust
RUN cargo build
RUN cargo build --release
RUN cargo test
RUN cargo test --release
WORKDIR /work/decktricks
# Don't forget to run `docker container prune` followed by `docker image prune`
# to reclaim disk space if you've been testing here!