I don't think this could work, because sometimes we are not targeting the latest version of the library/services.
I'll work on filtering in the beginning and then I'll take care of testing and merging. Il giorno mer 3 dic 2025 alle ore 13:27 Pasquale Congiusti < [email protected]> ha scritto: > Another possibility would be to omit at all the tag. By default it will > fallback to "latest", therefore picking always the latest available > container. Considering we use this for testing purposes only, I guess could > be a reasonable approach and makes our maintenance burden reduced. > > Cheers, > Pasquale. > > On Wed, Dec 3, 2025 at 1:20 PM Pasquale Congiusti < > [email protected]> wrote: > > > > > > > On Wed, Dec 3, 2025 at 1:07 PM Andrea Cosentino <[email protected]> > wrote: > > > >> One the thing we need to think about is also how we build the test. Now > we > >> check for dependencies update in parent and run the related modules, for > >> this we might need to check also in container.properties files and run > >> tests. I guess Pasquale Congiusti could help on this. > >> > > > > I think we don't run container based tests on github PR as those are > > failing due to several limitations. On Github we only run unit tests, IT > > tests are actually executed on Jenkins CI after their merge, so, ideally > we > > should look for problems after they are executed there. As an alternative > > approach, we may try to run each individual IT test as best effort, and > > verify later those PRs IT test which had failed originally in the PR. > > > > It's not a great solution, but I cannot find at this stage a better > > alternative. > > > > Pasquale. > > > > > >> > >> Il giorno mer 3 dic 2025 alle ore 12:57 Andrea Cosentino < > >> [email protected]> > >> ha scritto: > >> > >> > I'm going slowly through them. We need to add some more stuff, we > could > >> > also close this for the time being and wait for next monday while > >> working > >> > on filtering. > >> > > >> > What is better? > >> > > >> > Il giorno mer 3 dic 2025 alle ore 12:54 Claus Ibsen < > >> [email protected]> > >> > ha scritto: > >> > > >> >> Hi > >> >> > >> >> There are 30+ PRs waiting on main for this. > >> >> Should we start to merge these? > >> >> > >> >> On Tue, Dec 2, 2025 at 2:07 PM Andrea Cosentino <[email protected]> > >> >> wrote: > >> >> > >> >> > Hello team, > >> >> > > >> >> > I'm pleased to announce a new GitHub Actions workflow that > >> automatically > >> >> > monitors and upgrades container image versions used in our test > >> >> > infrastructure. > >> >> > > >> >> > The workflow scans all `container.properties` files in the > test-infra > >> >> > modules and checks for newer versions of container images in their > >> >> > respective registries. When outdated images are found, it > >> automatically > >> >> > creates individual pull requests for each container update, making > it > >> >> > easier to review and test changes independently. > >> >> > > >> >> > - How It Works > >> >> > > >> >> > 1. Scheduled Execution: Runs every Monday at 6:00 AM UTC (can also > be > >> >> > triggered manually) > >> >> > 2. Registry Support: Checks Docker Hub, Quay.io, GCR, GHCR, MCR, > and > >> >> other > >> >> > 3. Individual PRs: Creates a separate pull request for each > outdated > >> >> > container, allowing granular review and testing > >> >> > 4. Automatic Branches: Each PR uses a unique branch name following > >> the > >> >> > pattern: `automated/upgrade-<property>-<version>-<run-number>` > >> >> > 5. Each PR includes the property name, image name, file path, > old/new > >> >> > versions, and verification instructions > >> >> > > >> >> > - Version Filtering (Whitelist/Blacklist) > >> >> > > >> >> > To give us control over which version tags are acceptable, the > >> workflow > >> >> > supports optional version filtering using whitelist and blacklist > >> >> patterns. > >> >> > > >> >> > - Whitelist (Include Filter) > >> >> > Only versions containing specific words will be considered: > >> >> > > >> >> > postgres.container=postgres:17.2-alpine > >> >> > postgres.container.version.include=alpine > >> >> > > >> >> > This ensures only Alpine-based versions are selected (e.g., > >> 17.3-alpine, > >> >> > 18.0-alpine) > >> >> > > >> >> > - Blacklist (Exclude Filter) > >> >> > Versions containing specific words will be excluded: > >> >> > > >> >> > kafka.container=quay.io/strimzi/kafka:latest-kafka-3.9.1 > >> >> > kafka.container.version.exclude=rc,beta,alpha,snapshot > >> >> > > >> >> > This excludes pre-release versions containing "rc", "beta", > "alpha", > >> or > >> >> > "snapshot" > >> >> > > >> >> > - Common Use Cases > >> >> > > >> >> > Only numeric versions (no distribution suffixes): > >> >> > mysql.container=mysql:8.0.35 > >> >> > mysql.container.version.exclude=alpine,slim,debian,bookworm > >> >> > > >> >> > Specific distribution only: > >> >> > redis.container=redis:7.2.4-bookworm > >> >> > redis.container.version.include=bookworm > >> >> > > >> >> > Exclude problematic versions: > >> >> > nginx.container=nginx:1.25.3 > >> >> > nginx.container.version.exclude=1.26,experimental > >> >> > > >> >> > - Filter Rules > >> >> > > >> >> > - Filters are case-insensitive > >> >> > - Exclude filter (blacklist) is checked first - if version contains > >> ANY > >> >> > excluded word, it's rejected > >> >> > - Include filter (whitelist) is checked second - if specified, > >> version > >> >> must > >> >> > contain at least ONE included word > >> >> > - Multiple words are comma-separated (no spaces) > >> >> > - If no filters are specified, all versions are considered > >> >> > > >> >> > - Configuration > >> >> > > >> >> > Add filter properties directly in your `container.properties` > files: > >> >> > > >> >> > # Format: > >> >> > <property>.version.include=word1,word2,word3 > >> >> > <property>.version.exclude=word1,word2,word3 > >> >> > > >> >> > Obviously, we'll need some time to tune the exclude/include list > for > >> >> each > >> >> > image, but we'll do that. Please help by adding the exclusion, > >> inclusion > >> >> > filters in container.properties, if you have time. > >> >> > > >> >> > This is the first iteration results: > >> >> > > >> >> > > >> >> > >> > https://github.com/apache/camel/pulls?q=is%3Aopen+is%3Apr+label%3Aautomated+label%3Acontainer-images > >> >> > > >> >> > I hope this will help. But we'll need to tune it a bit. > >> >> > > >> >> > Any feedback is always welcome. > >> >> > > >> >> > >> >> > >> >> -- > >> >> Claus Ibsen > >> >> > >> > > >> > > >
