All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add support for handling the trimming of version field from
docker compose config
command #284
- Website: Migrated docs from gh-pages to Netlify
- Website: Removed versioning from site itself. Versions will instead be available on a separate page on the website pointing towards source docs in GitHub for that version.
- Add configurable readiness retry count #200
- Overhaul readiness checks & introduce
dockest/readiness-check
#212 - Add container log collection #167
- feat: replace dependents with dependsOn option #213
- Migrated website from docusaurus 1 to docusaurus 2 (beta.6) #264
- Correctly handle services that have no ports defined #210
- Make Dockest opts optional #263
- Added dependencies
io-ts
andfp-ts
- docker-compose file decoding #184
- Support for docker-in-docker #166
- New helper
resolveServiceAddress
#162 - Added option to skip port connectivity check #163
- Automatically transform legacy port mappings to the new format #154
- If no ports are provided for a service, the checkConnection step is skipped (a log message will however appear) #154
Other than the changes below, there's everything that has been introduced from the previous pre-releases.
The reasoning for this major release can be read in the PR, but also right here:
I feel that this library has matured into its second major release. The parts I felt uncomfortable with have been removed (e.g. the initial concept of Runners) and the library has evolved into something a lot more user-friendly.
It should be major because the interface has completely changed towards the user.
It should be bumped at this point in time because the interface has reached a stable state and there has been extensive local testing.
- Renamed healthchecks to readinessChecks to avoid confusion with Docker's healthcheck
- Improved documentation
- Adopted RxJS to listen in on docker events, greatly improving the responsiveness and sturdiness of all checks #136
- Support function as a command with containerId as argument #133
- Expose sleepWithLog
- Move chalk to dependencies
- Bump dependencies throughout the repo
- Internals: Introduce a Mutables field that contains mutable fields, e.g. runners
- Added the option to pass
dependent
Dockest Services to Dockest Services. Essentially creating a more robustdepends_on
- Added Dockest options for forwarding compose CLI options for
docker-compose <opts> up
. E.g.--build
or--force-recreate
- Changed Dockest Services
healthchecks
prop to ahealthcheck
prop. Instead of passing an array of functions, simply implement a single healthcheck function that'll be called recursively until successful or times out. Thehealthcheck
function is also fed default healthcheck functions. - Made documentation more verbose and descriptive
- GitHub Actions: Pipeline automation for npm & website releases
- Drop pipeline support for Node.js 8.x due to its EOL end of 2019
- Travis pipeline, relying solely on GitHub Actions
- Introduced
DockestServices
, servicing as the interface for users to specify which services to spin up during testing - Introduced custom healthcheck that can be passed along with the
DockestServices
- Removed
typedoc
- Removed
attachRunners
- Moved concept of
Runners
from a public interface to an internal one
- Introduced monorepo structure using yarn workspaces and lerna
- Use compose CLI for merging compose files #82
- Allow containers to connect to host machine/dockest inside container support #91
- Broke out runners from Dockest constructor and introduced
attachRunners
method - Started moving towards relying heavier on compose files rather than supplying runners that'll generate compose files
- New logo 🎉 #69
- Supports services being referenced as a dependency multiple times #68
- Jest commands work when including projects #66 #53
- Bumped all dependencies #67
- SimpleRunner #63
- Support for parsing of Compose Files as well as supplying runners with individual images. #55
- Support for parallelism of Jest and healthchecking Runner. #55
- KafkaRunner #55
- ZooKeeperRunner #55
- PostgresRunner
- RedisRunner #40
- Improvements to Dockest's interface (breaking change)
- Improved logging structure
- Improved test coverage
- Added
typedoc
for automatic documentation generation - Migrated from
docker-compose run
todocker-compose up
due to limitation in network accessibility between services (I'm looking at you Kafka & ZooKeeper)