aboutsummaryrefslogtreecommitdiff
path: root/docker/code-formatting-tools.dockerfile
blob: 4f4e8cf65f314b739fe472f10a88d261e368d668 (plain) (blame)
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
# A lightweight container for re-formatting our source code. It contains:
#
# - astyle and rustfmt (code formatters)
# - GNU make (to run the aforementioned formatters)
# - git (so the CI can check if formatting introduced any changes)
#
# Build with:
#
#   docker build \
#       --tag=newsboat-code-formatting-tools \
#       --file=docker/code-formatting-tools.dockerfile \
#       docker
#
# Run on your local files with:
#
#   docker run \
#       --rm \
#       --mount type=bind,source=$(pwd),target=/workspace \
#       --user $(id -u):$(id -g) \
#       newsboat-code-formatting-tools \
#       make fmt

# Use Alpine 3.18 because 3.19 ships astyle 3.4, which is buggy for us:
# https://gitlab.com/saalen/astyle/-/issues/45
FROM rust:1.77.0-alpine3.18
WORKDIR /workspace
RUN apk add --no-cache astyle==3.1-r4 git make
RUN rustup component add rustfmt