Using my rebar3 orb https://circleci.com/orbs/registry/orb/tsloughter/rebar3 is less helpful when a database or any other external service that is run in a container is needed by the tests that are run.
Instead of being able to use the job from the orb it requires redefining the job with the database added to images:
jobs:
ct:
docker:
- image: circleci/erlang:22
entrypoint: ["/bin/sh"]
- image: circleci/postgres:11-alpine-ram
environment:
POSTGRES_USER: test
POSTGRES_DB: test
steps:
- checkout
- rebar3/with_deps_cache:
steps:
- rebar3/ct
- rebar3/on_fail_store_crashdump:
cmd: ct
- store_test_results:
path: ~/project/_build/test/logs/
- store_artifacts:
path: ~/project/_build/test/logs
destination: common_test
# for cover
- persist_to_workspace:
root: ~/project/
paths:
- _build/test/
At first I thought using pre-steps
would be an option. But since the docker containers started directly in a step with the remote docker are not accessible from the host that the tests are run in this is not an option for starting the database before the orb job runs tests.
It would be useful if a job could be extended with additional images to run from in the workflow.