27 lines
1010 B
Docker
27 lines
1010 B
Docker
# EUnit + API common_test — один builder-образ, разные CMD в CI.
|
|
ARG ERLANG_BUILDER_IMAGE=git.sabilin.com/eventhub/erlang-builder:latest
|
|
FROM ${ERLANG_BUILDER_IMAGE}
|
|
|
|
WORKDIR /app
|
|
|
|
COPY rebar.config ./
|
|
COPY include/ include/
|
|
COPY src/ src/
|
|
COPY test/unit/ test/unit/
|
|
COPY test/api_*_SUITE.erl test/
|
|
COPY test/api/ test/api/
|
|
COPY docker/ci-test-prepare.sh /usr/local/bin/ci-test-prepare.sh
|
|
RUN chmod +x /usr/local/bin/ci-test-prepare.sh
|
|
|
|
# default profile: CT (test/api); test profile: EUnit (test/unit).
|
|
# rebar3 кладёт битые/symlink extra src_dirs; готовим реальные копии (как scripts/fix-rebar-unit-symlink.sh).
|
|
RUN rebar3 compile \
|
|
&& mkdir -p _build/test/lib/eventhub/test \
|
|
&& (rebar3 as test compile || true) \
|
|
&& ci-test-prepare.sh \
|
|
&& rebar3 as test compile
|
|
|
|
# По умолчанию CT; для eunit: docker run … rebar3 eunit --sname ci_eunit --verbose
|
|
ENTRYPOINT ["ci-test-prepare.sh"]
|
|
CMD ["rebar3", "ct", "--sname", "ci_api_test", "-v"]
|