1
- # syntax=docker/dockerfile:1.6-labs @sha256:bd24901c537a316a4802d920bf86605f4db8ef676ef7258a3b381e12d90c62c8
1
+ # syntax=docker/dockerfile:1.8 @sha256:d6d396f3780b1dd56a3acbc975f57bd2fc501989b50164c41387c42d04e780d0
2
2
3
- ARG ALPINE_VERSION=3.18
3
+ ARG ALPINE_VERSION=3.20
4
4
ARG ARCH=x86_64
5
5
6
- FROM alpine:${ALPINE_VERSION} as rust-base
6
+ FROM alpine:${ALPINE_VERSION} AS rust-base
7
7
8
8
RUN apk add --no-cache ca-certificates gcc musl-dev
9
9
@@ -12,8 +12,12 @@ ENV CARGO_HOME=/usr/local/cargo
12
12
ENV PATH=/usr/local/cargo/bin:${PATH}
13
13
14
14
ARG ARCH
15
- ARG RUSTUP_VERSION=1.26.0
16
- ARG RUST_VERSION=1.74
15
+
16
+ # Update check: https://github.com/rust-lang/rustup/tags
17
+ ARG RUSTUP_VERSION=1.27.1
18
+
19
+ # Update check: https://github.com/rust-lang/rust/tags
20
+ ARG RUST_VERSION=1.79.0
17
21
ARG RUST_ARCH=${ARCH}-unknown-linux-musl
18
22
19
23
# https://github.com/sfackler/rust-openssl/issues/1462
@@ -27,17 +31,18 @@ RUN /tmp/rustup-init \
27
31
--default-toolchain ${RUST_VERSION} \
28
32
--default-host ${RUST_ARCH}
29
33
30
- FROM rust-base as dev-planner
34
+ FROM rust-base AS dev-planner
31
35
32
- RUN cargo install --version 0.1.62 cargo-chef
36
+ # Update check: https://github.com/LukeMathWalker/cargo-chef/releases
37
+ RUN cargo install --version 0.1.67 cargo-chef
33
38
34
39
WORKDIR /usr/src/josh
35
40
COPY . .
36
41
37
42
ENV CARGO_TARGET_DIR=/opt/cargo-target
38
43
RUN cargo chef prepare --recipe-path recipe.json
39
44
40
- FROM rust-base as dev
45
+ FROM rust-base AS dev
41
46
42
47
RUN apk add --no-cache \
43
48
zlib-dev \
@@ -46,25 +51,28 @@ RUN apk add --no-cache \
46
51
47
52
WORKDIR /usr/src/josh
48
53
RUN rustup component add rustfmt
49
- RUN cargo install --version 0.1.62 cargo-chef
54
+ RUN cargo install --version 0.1.67 cargo-chef
50
55
RUN cargo install --verbose --version 0.10.0 graphql_client_cli
51
56
52
57
RUN apk add --no-cache \
53
58
bash \
59
+ coreutils \
54
60
curl \
55
61
cmake \
56
62
make \
57
63
expat-dev \
58
64
gettext \
59
65
python3 \
60
66
python3-dev \
67
+ libffi-dev \
61
68
py3-pip \
62
69
tree \
63
70
autoconf \
64
71
libgit2-dev \
65
72
psmisc
66
73
67
- ARG GIT_VERSION=2.38.1
74
+ # Update check: https://github.com/git/git/tags
75
+ ARG GIT_VERSION=2.45.2
68
76
WORKDIR /usr/src/git
69
77
RUN <<EOF
70
78
set -e
@@ -85,10 +93,12 @@ RUN mkdir /opt/git-install/etc
85
93
RUN git config -f /opt/git-install/etc/gitconfig --add safe.directory "*" && \
86
94
git config -f /opt/git-install/etc/gitconfig protocol.file.allow "always"
87
95
88
- ARG CRAM_VERSION=d245cca
89
- ARG PYGIT2_VERSION=1.11.1
90
- RUN pip3 install \
91
- git+https://github.com/brodie/cram.git@${CRAM_VERSION}
96
+ # Update check: https://github.com/prysk/prysk/releases
97
+ ARG PRYSK_VERSION=0.20.0
98
+
99
+ # This is a Docker image so --break-system-packages is okay
100
+ RUN pip3 install --break-system-packages \
101
+ git+https://github.com/prysk/prysk.git@${PRYSK_VERSION}
92
102
93
103
RUN apk add --no-cache go nodejs npm openssh-client patch
94
104
@@ -106,7 +116,7 @@ RUN cp bin/git-lfs /opt/git-lfs/bin
106
116
107
117
WORKDIR /usr/src/josh
108
118
109
- FROM dev as dev-local
119
+ FROM dev AS dev-local
110
120
111
121
RUN mkdir -p /opt/cache && \
112
122
chmod 777 /opt/cache
@@ -140,12 +150,12 @@ RUN adduser \
140
150
-g '' \
141
151
dev
142
152
143
- FROM dev as dev-cache
153
+ FROM dev AS dev-cache
144
154
145
155
COPY --from=dev-planner /usr/src/josh/recipe.json .
146
156
ENV CARGO_TARGET_DIR=/opt/cargo-target
147
157
148
- FROM dev-cache as dev-ci
158
+ FROM dev-cache AS dev-ci
149
159
150
160
RUN mkdir -p /josh/static && \
151
161
chmod 777 /josh/static
@@ -156,7 +166,7 @@ RUN mkdir -p josh-ui
156
166
COPY josh-ui/package.json josh-ui/package-lock.json josh-ui/
157
167
RUN cd josh-ui && npm install
158
168
159
- FROM dev-cache as build
169
+ FROM dev-cache AS build
160
170
161
171
RUN cargo chef cook --release --workspace --recipe-path recipe.json
162
172
@@ -167,7 +177,7 @@ RUN --mount=target=.git,from=git \
167
177
cargo build -p josh-proxy -p josh-ssh-shell --release
168
178
169
179
ARG ALPINE_VERSION
170
- FROM alpine:${ALPINE_VERSION} as run
180
+ FROM alpine:${ALPINE_VERSION} AS run
171
181
172
182
RUN apk add --no-cache \
173
183
zlib \
0 commit comments