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
> >> >>
> >> >
> >>
> >
>

Reply via email to