You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Andrea Cosentino <an...@gmail.com> on 2025/12/02 13:07:16 UTC

[HEADS-UP] New Automated Container Version Upgrade Workflow

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.

Re: [HEADS-UP] New Automated Container Version Upgrade Workflow

Posted by Andrea Cosentino <an...@gmail.com>.
Done.

For subprojects this will need to be adapted, since it is tied to
container.properties at this stage, but it could be adapted once we have
the new version and exclusion, inclusion in place.

Thanks for pointing this out, Aurelien.

Il giorno mar 2 dic 2025 alle ore 14:44 Aurelien Pupier via dev <
dev@camel.apache.org> ha scritto:

> Hello,
>
> Thanks for this work!
>
> Can you update this JIRA https://issues.apache.org/jira/browse/CAMEL-20915
> with the approach that you use? (And certainly have the satisfaction to
> resolve it)
>
> I think this is also that will be beneficial to use in Camel Quarkus
> codebase<
> https://github.com/apache/camel-quarkus/blob/877078bbc189a57c8ee00dbc1e0f8978e2a40a2b/pom.xml#L231-L276>.
> (maybe other Camel subproject?)
>
> ________________________________
> From: Andrea Cosentino <an...@gmail.com>
> Sent: Tuesday, December 2, 2025 2:07 PM
> To: dev <de...@camel.apache.org>
> Subject: [EXTERNAL] [HEADS-UP] New Automated Container Version Upgrade
> Workflow
>
> 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.
>
> Unless otherwise stated above:
>
> Compagnie IBM France
> Siège Social : 17, avenue de l'Europe, 92275 Bois-Colombes Cedex
> RCS Nanterre 552 118 465
> Forme Sociale : S.A.S.
> Capital Social : 664 614 175,50 €
> SIRET : 552 118 465 03644 - Code NAF 6203Z
>

Re: [HEADS-UP] New Automated Container Version Upgrade Workflow

Posted by Aurelien Pupier via dev <de...@camel.apache.org>.
Hello,

Thanks for this work!

Can you update this JIRA https://issues.apache.org/jira/browse/CAMEL-20915 with the approach that you use? (And certainly have the satisfaction to resolve it)

I think this is also that will be beneficial to use in Camel Quarkus codebase<https://github.com/apache/camel-quarkus/blob/877078bbc189a57c8ee00dbc1e0f8978e2a40a2b/pom.xml#L231-L276>. (maybe other Camel subproject?)

________________________________
From: Andrea Cosentino <an...@gmail.com>
Sent: Tuesday, December 2, 2025 2:07 PM
To: dev <de...@camel.apache.org>
Subject: [EXTERNAL] [HEADS-UP] New Automated Container Version Upgrade Workflow

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.

Unless otherwise stated above:

Compagnie IBM France
Siège Social : 17, avenue de l'Europe, 92275 Bois-Colombes Cedex
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 664 614 175,50 €
SIRET : 552 118 465 03644 - Code NAF 6203Z

Re: [HEADS-UP] New Automated Container Version Upgrade Workflow

Posted by Andrea Cosentino <an...@gmail.com>.
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 <
pasquale.congiusti@gmail.com> 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 <
> pasquale.congiusti@gmail.com> wrote:
>
> >
> >
> > On Wed, Dec 3, 2025 at 1:07 PM Andrea Cosentino <an...@gmail.com>
> 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 <
> >> ancosen@gmail.com>
> >> 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 <
> >> claus.ibsen@gmail.com>
> >> > 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 <an...@gmail.com>
> >> >> 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
> >> >>
> >> >
> >>
> >
>

Re: [HEADS-UP] New Automated Container Version Upgrade Workflow

Posted by Pasquale Congiusti <pa...@gmail.com>.
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 <
pasquale.congiusti@gmail.com> wrote:

>
>
> On Wed, Dec 3, 2025 at 1:07 PM Andrea Cosentino <an...@gmail.com> 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 <
>> ancosen@gmail.com>
>> 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 <
>> claus.ibsen@gmail.com>
>> > 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 <an...@gmail.com>
>> >> 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
>> >>
>> >
>>
>

Re: [HEADS-UP] New Automated Container Version Upgrade Workflow

Posted by Pasquale Congiusti <pa...@gmail.com>.
On Wed, Dec 3, 2025 at 1:07 PM Andrea Cosentino <an...@gmail.com> 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 <
> ancosen@gmail.com>
> 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 <
> claus.ibsen@gmail.com>
> > 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 <an...@gmail.com>
> >> 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
> >>
> >
>

Re: [HEADS-UP] New Automated Container Version Upgrade Workflow

Posted by Andrea Cosentino <an...@gmail.com>.
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.

Il giorno mer 3 dic 2025 alle ore 12:57 Andrea Cosentino <an...@gmail.com>
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 <cl...@gmail.com>
> 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 <an...@gmail.com>
>> 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
>>
>

Re: [HEADS-UP] New Automated Container Version Upgrade Workflow

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Ah okay yeah it sounds better to close and then re-run on monday to get a
new fresh set that have your fixes and so on.

On Wed, Dec 3, 2025 at 12:58 PM Andrea Cosentino <an...@gmail.com> wrote:

> 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 <claus.ibsen@gmail.com
> >
> 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 <an...@gmail.com>
> 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
> >
>


-- 
Claus Ibsen

Re: [HEADS-UP] New Automated Container Version Upgrade Workflow

Posted by Andrea Cosentino <an...@gmail.com>.
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 <cl...@gmail.com>
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 <an...@gmail.com> 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
>

Re: [HEADS-UP] New Automated Container Version Upgrade Workflow

Posted by Claus Ibsen <cl...@gmail.com>.
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 <an...@gmail.com> 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

Re: [HEADS-UP] New Automated Container Version Upgrade Workflow

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Great work, we have 40+ test-infra modules now so its good to let them be
kept up to date in this kind of way.
Also its a bit of a hazzle as a human to find out what the latest image is
in different registries as they each have their own web site / CLI tool or
API to do that.


On Tue, Dec 2, 2025 at 2:07 PM Andrea Cosentino <an...@gmail.com> 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