Skip to content

Commit 0603ce7

Browse files
committed
Updated major packages and support for OpenSSL 3+
1 parent 5c26a40 commit 0603ce7

21 files changed

Lines changed: 452 additions & 264 deletions

‎.github/workflows/run-automatest-tests.yml‎

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,37 @@ jobs:
66
test:
77
runs-on: ubuntu-22.04
88
steps:
9-
- uses: actions/checkout@v3
9+
- uses: actions/checkout@v4
1010

11-
- name: Build image for tests
12-
run: docker build -t proxy-tester -f Dockerfile.test .
11+
- name: Build image for tests (bookworm, OpenSSL 3)
12+
run: docker compose build epp_proxy
13+
14+
- name: Verify OpenSSL and OTP in image
15+
run: |
16+
docker compose run --rm epp_proxy bash -l -c \
17+
'openssl version; erl -noshell -eval "io:format(\"OTP ~s crypto=~p~n\", [erlang:system_info(otp_release), crypto:info_lib()]), halt()."'
1318
1419
- name: Start the container
15-
run: docker run -d --name tester proxy-tester
16-
20+
run: docker compose up -d epp_proxy
21+
1722
- name: Install rebar dependencies
18-
run: docker exec -i tester bash -l -c "source /root/.asdf/asdf.sh && rebar3 as test get-deps"
23+
run: docker compose exec -T epp_proxy bash -l -c "source /root/.asdf/asdf.sh && rebar3 as test get-deps"
1924

2025
- name: Integrated Ruby app setup
21-
run: docker exec -d tester bash -l -c "cd apps/epp_proxy/priv/test_backend_app && bundle install && bundle exec rackup"
26+
run: docker compose exec -d epp_proxy bash -l -c "cd apps/epp_proxy/priv/test_backend_app && bundle install && bundle exec rackup -p 9292 -o 0.0.0.0 -D"
2227

2328
- name: Compile for tests
2429
run: |
2530
sleep 15
26-
docker exec -i tester bash -l -c "source /root/.asdf/asdf.sh && rebar3 as test compile"
31+
docker compose exec -T epp_proxy bash -l -c "source /root/.asdf/asdf.sh && rebar3 as test compile"
2732
2833
- name: Run tests
2934
run: |
30-
docker exec -i -e DEBUG=1 tester bash -l -c "source /root/.asdf/asdf.sh && rebar3 ct --sys_config config/test.config --readable=false --cover --verbose=true"
31-
35+
docker compose exec -T -e DEBUG=1 epp_proxy bash -l -c "source /root/.asdf/asdf.sh && rebar3 ct --sys_config config/test.config --readable=false --cover --verbose=true"
36+
3237
- name: Show test coverage
33-
run: docker exec -i tester bash -l -c "source /root/.asdf/asdf.sh && rebar3 cover --verbose"
38+
run: docker compose exec -T epp_proxy bash -l -c "source /root/.asdf/asdf.sh && rebar3 cover --verbose"
39+
40+
- name: Stop container
41+
if: always()
42+
run: docker compose down

‎.tool-versions‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
erlang 23.3.4.20
2-
ruby 3.2.2
3-
rebar 3.15.2
1+
erlang 26.2.5.5
2+
ruby 3.4.9
3+
rebar 3.23.0

‎COMMANDS‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Docker (from epp_proxy/ — see docker-compose.yml)
2+
3+
- Run all tests (OpenSSL 3):
4+
./scripts/docker-ct.sh
5+
6+
- Build image:
7+
docker compose build
8+
9+
- Run specific test suite:
10+
docker compose run --rm epp_proxy bash -l -c "source ~/.asdf/asdf.sh && rebar3 ct --sys_config config/test.config --suite apps/epp_proxy/test/epp_http_client_SUITE"
11+
12+
- Run all tests manually (start test backend in another shell or use docker-ct.sh):
13+
docker compose run --rm epp_proxy bash -l -c "source ~/.asdf/asdf.sh && rebar3 ct --sys_config config/test.config"
14+
15+
- Debugging shell:
16+
docker compose run --rm epp_proxy bash -l -c "source ~/.asdf/asdf.sh && rebar3 shell --config config/test.config"
17+
18+
- Show loaded configuration (in Erlang shell):
19+
application:get_all_env(epp_proxy).
20+
21+
- Quit shell:
22+
halt().
23+
24+
- Production tarball:
25+
docker compose run --rm epp_proxy bash -l -c "source ~/.asdf/asdf.sh && rebar3 as prod tar"
26+
27+
# Full registry stack (epp_proxy + Rails EPP) — ../docker-images/docker-compose.yml
28+
cd ../docker-images && docker compose up epp epp_proxy

‎Dockerfile‎

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1-
FROM debian:bullseye-slim
1+
FROM debian:bookworm-slim
22

33
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
44
COPY ./docker/apt/sources.list /etc/apt/
55

6-
# Install all dependencies in a single layer to reduce image size
76
RUN apt-get update && apt-get install -y -qq \
87
wget \
98
git \
109
build-essential \
11-
libncurses5-dev \
1210
automake \
1311
autoconf \
1412
curl \
1513
ca-certificates \
14+
libssl3 \
1615
libssl-dev \
1716
libreadline-dev \
1817
libdpkg-perl \
@@ -22,41 +21,39 @@ RUN apt-get update && apt-get install -y -qq \
2221
perl \
2322
procps \
2423
inotify-tools \
25-
libssl1.1 \
2624
perl-base \
2725
zlib1g-dev \
28-
# Additional dependencies for Erlang build
2926
libncurses-dev \
3027
libsctp-dev \
31-
# Documentation tools to prevent build failures
3228
xsltproc \
3329
libxml2-utils \
34-
# Dependencies for Ruby 3.2.2
3530
libffi-dev \
3631
libyaml-dev \
3732
&& apt-get clean \
3833
&& rm -rf /var/lib/apt/lists/*
3934

40-
# Set environment variables for Erlang build
4135
ENV KERL_CONFIGURE_OPTIONS="--disable-debug --without-javac --without-wx --without-odbc --disable-hipe --without-jinterface --without-docs"
4236
ENV KERL_BUILD_DOCS="no"
4337
ENV KERL_DOC_TARGETS=""
4438
ENV KERL_INSTALL_HTMLDOCS="no"
4539
ENV KERL_INSTALL_MANPAGES="no"
4640

47-
RUN git clone https://github.com/asdf-vm/asdf.git --branch v0.6.3 "$HOME"/.asdf && \
41+
RUN git clone https://github.com/asdf-vm/asdf.git --branch v0.14.0 "$HOME"/.asdf && \
4842
echo '. $HOME/.asdf/asdf.sh' >> "$HOME"/.bashrc && \
49-
echo '. $HOME/.asdf/asdf.sh' >> "$HOME"/.profile
43+
echo '. $HOME/.asdf/asdf.sh' >> "$HOME"/.profile
5044

5145
ENV PATH="${PATH}:/root/.asdf/shims:/root/.asdf/bin"
46+
ENV GIT_TERMINAL_PROMPT=0
5247

5348
RUN mkdir -p /opt/erlang/epp_proxy
5449
WORKDIR /opt/erlang/epp_proxy
5550

5651
COPY .tool-versions ./
57-
RUN asdf plugin-add erlang
58-
RUN . $HOME/.asdf/asdf.sh && asdf install
59-
RUN asdf global erlang $(grep erlang .tool-versions | cut -d' ' -f2)
60-
RUN asdf plugin-add ruby
61-
RUN asdf plugin-add rebar
62-
RUN asdf install
52+
RUN . "$HOME"/.asdf/asdf.sh && \
53+
asdf plugin add erlang && \
54+
asdf plugin add ruby && \
55+
asdf plugin add rebar && \
56+
asdf install && \
57+
asdf global erlang "$(grep erlang .tool-versions | awk '{print $2}')" && \
58+
asdf global ruby "$(grep ruby .tool-versions | awk '{print $2}')" && \
59+
asdf global rebar "$(grep rebar .tool-versions | awk '{print $2}')"

‎Dockerfile.Erlang-ruby.base‎

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,48 @@
1-
FROM debian:bullseye-slim
1+
FROM debian:bookworm-slim
2+
3+
COPY ./docker/apt/sources.list /etc/apt/
24

35
RUN apt-get update && apt-get install -y \
46
wget \
57
git \
6-
build-essential=* \
7-
libncurses5-dev=* \
8-
automake=* \
9-
autoconf=* \
10-
curl=* \
11-
ca-certificates=* \
12-
libssl-dev=* \
13-
libreadline-dev=* \
14-
libdpkg-perl=* \
15-
liberror-perl=* \
16-
libc6=* \
8+
build-essential \
9+
libncurses-dev \
10+
automake \
11+
autoconf \
12+
curl \
13+
ca-certificates \
14+
libssl3 \
15+
libssl-dev \
16+
libreadline-dev \
17+
libdpkg-perl \
18+
liberror-perl \
19+
libc6 \
1720
libc-dev \
18-
perl=* \
19-
procps=* \
20-
inotify-tools=* \
21-
libssl1.1=* \
22-
perl-base=* \
21+
perl \
22+
procps \
23+
inotify-tools \
24+
perl-base \
2325
zlib1g-dev \
2426
&& apt-get clean \
2527
&& rm -rf /var/lib/apt/lists/*
2628

27-
RUN git clone https://github.com/asdf-vm/asdf.git --branch v0.6.3 "$HOME"/.asdf && \
29+
RUN git clone https://github.com/asdf-vm/asdf.git --branch v0.14.0 "$HOME"/.asdf && \
2830
echo '. $HOME/.asdf/asdf.sh' >> "$HOME"/.bashrc && \
29-
echo '. $HOME/.asdf/asdf.sh' >> "$HOME"/.profile
31+
echo '. $HOME/.asdf/asdf.sh' >> "$HOME"/.profile
3032

3133
ENV PATH="${PATH}:/root/.asdf/shims:/root/.asdf/bin"
3234

3335
RUN mkdir -p /opt/erlang/epp_proxy/release
3436
WORKDIR /opt/erlang/epp_proxy
3537

38+
ENV GIT_TERMINAL_PROMPT=0
39+
3640
COPY .tool-versions ./
37-
RUN asdf plugin-add erlang
38-
RUN asdf install
39-
RUN asdf global erlang $(grep erlang .tool-versions | cut -d' ' -f2)
40-
RUN asdf plugin-add ruby
41-
RUN asdf plugin-add rebar
42-
RUN asdf install
41+
RUN . "$HOME"/.asdf/asdf.sh && \
42+
asdf plugin add erlang && \
43+
asdf plugin add ruby && \
44+
asdf plugin add rebar && \
45+
asdf install && \
46+
asdf global erlang "$(grep erlang .tool-versions | awk '{print $2}')" && \
47+
asdf global ruby "$(grep ruby .tool-versions | awk '{print $2}')" && \
48+
asdf global rebar "$(grep rebar .tool-versions | awk '{print $2}')"

‎Dockerfile.amd64.legacy‎

Lines changed: 0 additions & 58 deletions
This file was deleted.

0 commit comments

Comments
 (0)