## `dependabot-docker_compose` Docker support for [`dependabot-core`][core-repo]. ### Running locally 1. Start a development shell ``` $ bin/docker-dev-shell docker_compose ``` 2. Run tests ``` [dependabot-core-dev] ~ $ cd docker_compose && rspec ``` [core-repo]: https://github.com/dependabot/dependabot-core ### Supported tag schemas Dependabot supports updates for Docker Compose tags that use semver versioning, dates, and build numbers. The Docker Compose tag class is located at: https://github.com/dependabot/dependabot-core/blob/main/docker_compose/lib/dependabot/docker_compose/tag.rb #### Semver Dependabot will attempt to parse a semver version from a tag and will only update it to a tag with a matching prefix and suffix. As an example, `base-12.5.1` and `base-12.5.1-golden` would be parsed as `-` and `--` respectively. That means for `base-12.5.1` only another `-` tag would be a viable update, and for `base-12.5.1-golden`, only another `--` tag would be viable. The exception to this is if the suffix is a SHA, in which case it does not get compared and only the `` parts are considered in finding a viable tag. #### Dates Dependabot will parse dates in the `yyyy-mm`, `yyyy-mm-dd` formats (or with `.` instead of `-`) and update tags to the latest date. As an example, `2024-01` will get updated to `2024-02` and `2024.01.29` will get updated to `2024.03.15`. #### Build numbers Dependabot will recognize build numbers and will update to the highest build number available. As an example, `21-ea-32`, `22-ea-7`, and `22-ea-jdk-nanoserver-1809` are mapped to `-ea-`, `-ea-`, and `-ea-jdk-nanoserver-` respectively. That means only "22-ea-7" will be considered as a viable update candidate for `21-ea-32`, since it's the only one that respects that format.