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