File size: 1,968 Bytes
e98c0d7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | ## `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 `<prefix>-<version>` and `<prefix>-<version>-<suffix>` respectively.
That means for `base-12.5.1` only another `<prefix>-<version>` tag would be a viable update, and for `base-12.5.1-golden`, only another `<prefix>-<version>-<suffix>` 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 `<prefix-<version>` 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 `<version>-ea-<build_num>`, `<version>-ea-<build_num>`, and `<version>-ea-jdk-nanoserver-<build_num>` 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.
|