Update template images to match devcontainers/images repository versions#405
Update template images to match devcontainers/images repository versions#405
Conversation
Updated the following image version references to match the current versions in devcontainers/images manifest.json files: - typescript-node: 1 → 4 (manifest version 4.0.6) - javascript-node: 1 → 4 (manifest version 4.0.8) - python: 2 → 3, 1 → 3 (manifest version 3.0.5) - java: 1 → 3 (manifest version 3.0.5) - cpp: 1 → 2 (manifest version 2.1.5) - ruby: 2 → 3 (manifest version 3.0.2) All updated tags verified to exist on MCR registry. Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
|
@copilot Remove changes related to ruby and reby-rails-postgres templates. Separate PR's exists for the same. Check the manifest.json files in devcontainers/images repository and add the latest missing variants after checking the availability of the image in MCR repo. Do a major version upgrade for each updated template |
Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
…rsions Updated devcontainer-template.json for all templates where image versions were changed: - typescript-node: 4.0.2 → 5.0.0, add trixie variants, default 24-trixie - javascript-node: 4.0.2 → 5.0.0, add trixie variants, default 24-trixie - javascript-node-postgres: 4.0.2 → 5.0.0, add trixie variants, default 24-trixie - javascript-node-mongo: 4.0.2 → 5.0.0, add trixie variants, default 24-trixie - python: 5.0.0 → 6.0.0 - postgres: 2.2.0 → 3.0.0, add trixie/newer Python variants, default 3.14-trixie - java: 4.0.2 → 5.0.0, add trixie/Java 25 variants, default 25-trixie - java-postgres: 4.0.2 → 5.0.0, add trixie/Java 25 variants, default 25-trixie - cpp: 3.1.0 → 4.0.0, add debian13 (trixie), default debian13 - cpp-mariadb: 3.1.0 → 4.0.0, add debian13 (trixie), default debian13 All new tags verified on MCR registry. Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
|
|
@copilot The url used to download maven-wrapper from GitHub archive in the test script of java-postgres template seems flaky. Could you please replace the content of the test.sh of java-postgres template with the following content to download the mavan from apache maven repo directly. |
… java-postgres test.sh Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
Replaced the java-postgres |
|
@copilot Rollback the last commit f80e8eb as the test is still failing with similar error. In fact the baseline version of the test script has the same download logic for both java and java-postgres templates. However, the download is only failing for java-postgres template. Could it possibly be the incorrect network configuration in the docker-compse file blocking the outbound traffic to internet? Please check. |
Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
Rolled back test.sh in 8af970f. Regarding the network issue — the CI logs confirm DNS resolution is broken inside the java-postgres app container: The root cause is With |
@copilot Fix that and you could check this PR some reference #401 |
…-compose and update test.sh Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
Fixed in 828218c. Following the pattern from PR #401, I replaced Changes:
|
|
@copilot For test/java-postgres/test.sh file alone I want you to go back to the original baseline version and then fix the typo at line 14 |
…ookworm MongoDB packages are not available for Debian Trixie (13), causing test failures. Removed all trixie variants and changed the default to 24-bookworm. Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
Fixed in 8901a14. Removed all trixie variants from the javascript-node-mongo template and changed the default to |
…406 - php: Removed bullseye variants, added 8.2-trixie and 8.2-bookworm, reordered proposals - php-mariadb: Removed bullseye variants, added 8.2-trixie and 8.2-bookworm, reordered proposals - jekyll: Removed obsolete buster variant Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
Included the php, php-mariadb, and jekyll changes from PR #406 in 3df10ac:
|
|
@copilot There are variant tags in src/python/devcontainer-template.json for which respective images not present in MCR. Can you check and remove them. Similarly check all other templates for the same. |
Removed Python 3.9 variants (3.9-trixie, 3.9-bookworm, 3.9-bullseye) and all bullseye variants (3-bullseye, 3.14-bullseye through 3.10-bullseye) from the python template - these tags do not exist in MCR with the version 3 prefix. Verified all remaining variants across all templates against MCR. Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
Fixed in c720a30. Verified all variant tags across all 13 modified templates against MCR. The python template had invalid variants:
All other templates (typescript-node, javascript-node, javascript-node-postgres, javascript-node-mongo, java, java-postgres, cpp, cpp-mariadb, postgres, php, php-mariadb, jekyll) had valid tags only — no changes needed. |
|
@copilot Please add |
Added Java 8 variants (8-trixie, 8-bookworm) to both java and java-postgres devcontainer-template.json proposals. Tags verified against MCR. Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
Syncs template image versions and variants with the current devcontainers/images repository manifest.json files. All updated tags verified against the MCR registry.
Image Version Updates (Dockerfile/devcontainer.json)
Missing Variant Additions (devcontainer-template.json)
24-bookworm(trixie variants excluded — MongoDB packages are not available for Debian Trixie)Invalid Variant Removal (MCR Verification)
3.9-trixie,3.9-bookworm,3.9-bullseye) and all bullseye variants (3-bullseye,3.14-bullseyethrough3.10-bullseye) — these tags do not exist in MCR with the version 3 image prefix. All remaining variants across all 13 modified templates verified against MCR.Major Version Bumps (devcontainer-template.json)
java-postgres Network Fix
Replaced
network_mode: service:dbwith a proper Docker bridge network (app-network) in the java-postgres docker-compose.yml. The previous configuration caused the app container to share the postgres container's network namespace, which lacked proper external DNS resolution in CI environments — blocking all outbound network calls (curl, etc.).Changes following the pattern from PR #401:
network_mode: service:db, addedapp-networkbridge network for both services, addedhealthcheckon db service withdepends_on: condition: service_healthy, updatedPOSTGRES_HOSTNAMEtodb, updated postgres volume mount from/var/lib/postgresql/datato/var/lib/postgresqlfor PostgreSQL 18+ compatibilitydbinstead oflocalhost)javascript-node-postgres Network Fix
Applied the same network configuration fix to the javascript-node-postgres template, which suffered from the identical
network_mode: service:dbDNS resolution failure.Changes following the same pattern from PR #401:
version: '3.8'andnetwork_mode: service:db, addedapp-networkbridge network for both services, addedhealthcheckon db service withdepends_on: condition: service_healthy, updated postgres volume mount from/var/lib/postgresql/datato/var/lib/postgresqlfor PostgreSQL 18+ compatibilitydbinstead oflocalhost)localhosttodbto match the new bridge network configurationPostgreSQL 18+ Volume Fix (java-postgres, javascript-node-postgres)
Updated the postgres volume mount path from
/var/lib/postgresql/datato/var/lib/postgresqlin both java-postgres and javascript-node-postgres docker-compose.yml files. PostgreSQL 18+ (postgres:latest) changed its data directory structure and now manages thedatasubdirectory internally. The old mount path caused the postgres container to crash on startup, which was properly detected by the newdepends_on: condition: service_healthyhealthcheck configuration.java-postgres test.sh Typo Fix
rm -rf mv maven-wrapper-maven-wrapper-0.5.5→rm -rf maven-wrapper-maven-wrapper-0.5.5)javascript-node-mongo Trixie Variant Removal
Removed trixie variants from the javascript-node-mongo template because MongoDB packages are not available for Debian Trixie (13), causing CI test failures. Default changed to
24-bookworm.PHP, PHP-MariaDB, and Jekyll Variant Updates (from closed PR #406)
Included variant updates from the closed PR #406 for php, php-mariadb, and jekyll templates:
8.2-trixieand8.2-bookworm, reordered proposals consistently (descending version, trixie before bookworm)8.2-trixieand8.2-bookworm, reordered proposals consistentlybustervariantNot Included
Ruby and ruby-rails-postgres template updates are excluded from this PR as separate PRs exist for those.
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.