diff --git a/ci/pipeline-template.yml b/ci/pipeline-template.yml
index 0769727ba..9de5ae77f 100644
--- a/ci/pipeline-template.yml
+++ b/ci/pipeline-template.yml
@@ -160,33 +160,22 @@ params:
groups:
- name: build
jobs:
- - build-stemcell
- - test-unit
- - build-os-image
- #@ for iaas in data.values.stemcell_details.include_iaas:
- - build-(@= iaas.iaas @)-(@= iaas.hypervisor @)
- #@ end
- #@ for iaas in data.values.stemcell_details.include_fips_iaas:
- - build-(@= iaas.iaas @)-(@= iaas.hypervisor @)-fips
- #@ end
- bats
- - test-stemcells-ipv4
- #! - test-stemcells-ipv6
+ - build-*
+ - test-unit
+ - test-stemcells-*
- aggregate-candidate-stemcells
- name: publish
jobs:
- - build-light-aws-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
- - build-light-google-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
- - publish-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+ - create-light-*
+ - publish-*
- name: auto-bumps
jobs:
- bump-deps
- bump-golang-deps
- bump-bosh-agent
- #@ for blobstore_type in data.values.blobstore_types:
- - bump-bosh-blobstore-(@= blobstore_type @)
- #@ end
+ - bump-bosh-blobstore-*
- name: automatic-triggers
jobs:
@@ -194,12 +183,13 @@ groups:
- check-usn-packages-are-available
- log-low-medium-cves
- notify-of-usn
+
- name: infrastructure-tending
jobs:
- build-os-image-stemcell-builder
- ensure-integration-network
- - cleanup-published-aws-light-stemcells-older-than-three-years
- - cleanup-unpublished-(@= data.values.stemcell_details.os_name @)-aws-light-stemcells
+ - cleanup-published-*
+ - cleanup-unpublished-*
#@yaml/text-templated-strings
jobs:
@@ -568,74 +558,76 @@ jobs:
timeout: 15m
serial: true
-#!- name: test-stemcells-ipv6
-#! plan:
-#! - do:
-#! - in_parallel:
-#! - get: version
-#! passed:
-#! #@ for iaas in data.values.stemcell_details.include_iaas:
-#! - build-(@= iaas.iaas @)-(@= iaas.hypervisor @)
-#! #@ end
-#! #@ for iaas in data.values.stemcell_details.include_fips_iaas:
-#! - build-(@= iaas.iaas @)-(@= iaas.hypervisor @)-fips
-#! #@ end
-#! resource: version
-#! trigger: true
-#! - get: bosh-stemcells-ci
-#! - get: bosh-integration-registry-image
-#! - get: bosh-linux-stemcell-builder
-#! - get: bosh-deployment
-#! - get: syslog-release
-#! - get: bpm-release
-#! - get: os-conf-release
-#! - get: stemcell
-#! passed:
-#! - build-google-kvm
-#! resource: google-kvm
-#! - get: build-time
-#! passed:
-#! - build-os-image
-#! #@ for iaas in data.values.stemcell_details.include_iaas:
-#! - build-(@= iaas.iaas @)-(@= iaas.hypervisor @)
-#! #@ end
-#! #@ for iaas in data.values.stemcell_details.include_fips_iaas:
-#! - build-(@= iaas.iaas @)-(@= iaas.hypervisor @)-fips
-#! #@ end
-#! trigger: true
-#! - do:
-#! - task: deploy-director-ipv6
-#! file: bosh-stemcells-ci/ci/tasks/gcp/deploy-director-ipv6.yml
-#! image: bosh-integration-registry-image
-#! params:
-#! GCP_PROJECT_ID: ((gcp_project_id))
-#! GCP_ZONE: europe-north2-a
-#! GCP_NETWORK_NAME: ipv6-test
-#! GCP_SUBNET_NAME: stemcell-builder-integration-ipv6-(@= data.values.stemcell_details.subnet_int @)
-#! GCP_JSON_KEY: ((gcp_json_key))
-#! INTERNAL_IP: 10.100.(@= data.values.stemcell_details.subnet_int @).10
-#! INTERNAL_CIDR: 10.100.(@= data.values.stemcell_details.subnet_int @).0/24
-#! INTERNAL_GW: 10.100.(@= data.values.stemcell_details.subnet_int @).1
-#! RESERVED_RANGE: '10.100.(@= data.values.stemcell_details.subnet_int @).2 - 10.100.(@= data.values.stemcell_details.subnet_int @).9, 10.100.(@= data.values.stemcell_details.subnet_int @).62 - 10.100.(@= data.values.stemcell_details.subnet_int @).254'
-#! SECOND_INTERNAL_CIDR: fd20:ecb:bcac:4000:0:0:0:0/64
-#! SECOND_INTERNAL_GW: fd20:ecb:bcac:4000::1
-#! SECOND_INTERNAL_IP: fd20:ecb:bcac:4000::10
-#! TAG: test-stemcells-ipv6
-#! - task: test-stemcell-ipv6
-#! attempts: 3
-#! file: bosh-stemcells-ci/ci/tasks/test-stemcell.yml
-#! image: bosh-integration-registry-image
-#! params:
-#! BOSH_os_name: (@= data.values.stemcell_details.os_name @)
-#! package: ipv6director
-#! ensure:
-#! do:
-#! - task: teardown
-#! file: bosh-stemcells-ci/ci/tasks/teardown.yml
-#! image: bosh-integration-registry-image
-#! attempts: 3
-#! timeout: 15m
-#! serial: true
+#@ if data.values.stemcell_details.test_ipv6:
+- name: test-stemcells-ipv6
+ plan:
+ - do:
+ - in_parallel:
+ - get: version
+ passed:
+ #@ for iaas in data.values.stemcell_details.include_iaas:
+ - build-(@= iaas.iaas @)-(@= iaas.hypervisor @)
+ #@ end
+ #@ for iaas in data.values.stemcell_details.include_fips_iaas:
+ - build-(@= iaas.iaas @)-(@= iaas.hypervisor @)-fips
+ #@ end
+ resource: version
+ trigger: true
+ - get: bosh-stemcells-ci
+ - get: bosh-integration-registry-image
+ - get: bosh-linux-stemcell-builder
+ - get: bosh-deployment
+ - get: syslog-release
+ - get: bpm-release
+ - get: os-conf-release
+ - get: stemcell
+ passed:
+ - build-google-kvm
+ resource: google-kvm
+ - get: build-time
+ passed:
+ - build-os-image
+ #@ for iaas in data.values.stemcell_details.include_iaas:
+ - build-(@= iaas.iaas @)-(@= iaas.hypervisor @)
+ #@ end
+ #@ for iaas in data.values.stemcell_details.include_fips_iaas:
+ - build-(@= iaas.iaas @)-(@= iaas.hypervisor @)-fips
+ #@ end
+ trigger: true
+ - do:
+ - task: deploy-director-ipv6
+ file: bosh-stemcells-ci/ci/tasks/gcp/deploy-director-ipv6.yml
+ image: bosh-integration-registry-image
+ params:
+ GCP_PROJECT_ID: ((gcp_project_id))
+ GCP_ZONE: europe-north2-a
+ GCP_NETWORK_NAME: ipv6-test
+ GCP_SUBNET_NAME: stemcell-builder-integration-ipv6-(@= data.values.stemcell_details.subnet_int @)
+ GCP_JSON_KEY: ((gcp_json_key))
+ INTERNAL_IP: 10.100.(@= data.values.stemcell_details.subnet_int @).10
+ INTERNAL_CIDR: 10.100.(@= data.values.stemcell_details.subnet_int @).0/24
+ INTERNAL_GW: 10.100.(@= data.values.stemcell_details.subnet_int @).1
+ RESERVED_RANGE: '10.100.(@= data.values.stemcell_details.subnet_int @).2 - 10.100.(@= data.values.stemcell_details.subnet_int @).9, 10.100.(@= data.values.stemcell_details.subnet_int @).62 - 10.100.(@= data.values.stemcell_details.subnet_int @).254'
+ SECOND_INTERNAL_CIDR: fd20:ecb:bcac:4000:0:0:0:0/64
+ SECOND_INTERNAL_GW: fd20:ecb:bcac:4000::1
+ SECOND_INTERNAL_IP: fd20:ecb:bcac:4000::10
+ TAG: test-stemcells-ipv6
+ - task: test-stemcell-ipv6
+ attempts: 3
+ file: bosh-stemcells-ci/ci/tasks/test-stemcell.yml
+ image: bosh-integration-registry-image
+ params:
+ BOSH_os_name: (@= data.values.stemcell_details.os_name @)
+ package: ipv6director
+ ensure:
+ do:
+ - task: teardown
+ file: bosh-stemcells-ci/ci/tasks/teardown.yml
+ image: bosh-integration-registry-image
+ attempts: 3
+ timeout: 15m
+ serial: true
+#@ end
#@ for iaas in data.values.stemcell_details.include_iaas:
- #@ build_stemcell(iaas.iaas, iaas.hypervisor)
@@ -1013,7 +1005,8 @@ jobs:
- #@ cleanup_unpublished_light_stemcells("us-gov")
#!- #@ cleanup_unpublished_light_stemcells("cn")
-- name: build-light-aws-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+- name: create-light-aws-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+ old_name: build-light-aws-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
plan:
- get: bosh-stemcells-ci
- get: aws-light-stemcell-builder-registry-image
@@ -1102,7 +1095,8 @@ jobs:
version: us-input-stemcell/.resource/version
serial: true
-- name: build-light-google-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+- name: create-light-google-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+ old_name: build-light-google-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
plan:
- in_parallel:
- get: stemcell
@@ -1203,23 +1197,23 @@ jobs:
params:
skip_download: true
passed:
- - build-light-aws-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
- - build-light-google-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+ - create-light-aws-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+ - create-light-google-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
resource: candidate-(@= data.values.stemcell_details.os_name @)-stemcell-(@= str(data.values.stemcell_details.major_version) @)
- get: candidate-(@= data.values.stemcell_details.os_name @)-stemcell-(@= str(data.values.stemcell_details.major_version) @)
passed:
- - build-light-aws-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
- - build-light-google-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+ - create-light-aws-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+ - create-light-google-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
#@ if len(data.values.stemcell_details.include_fips_iaas) > 0:
- get: candidate-(@= data.values.stemcell_details.os_name @)-fips-stemcell-(@= str(data.values.stemcell_details.major_version) @)
#@ end
- get: candidate-google-light-(@= data.values.stemcell_details.os_name @)-stemcell-(@= str(data.values.stemcell_details.major_version) @)
passed:
- - build-light-google-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+ - create-light-google-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
- get: candidate-aws-light-stemcell
resource: candidate-aws-light-(@= data.values.stemcell_details.os_name @)-stemcell-(@= str(data.values.stemcell_details.major_version) @)
passed:
- - build-light-aws-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
+ - create-light-aws-(@= data.values.stemcell_details.os_name @)-(@= str(data.values.stemcell_details.major_version) @)
- file: bosh-stemcells-ci/ci/tasks/build-release-metadata.yml
image: os-image-stemcell-builder-registry-image
task: build-release-metadata
@@ -1467,7 +1461,7 @@ resources:
source:
bucket: bosh-gce-raw-stemcells-new
json_key: ((gcp_json_key))
- regexp: bosh-stemcell-([0-9\.]+)-google-kvm-ubuntu-*-raw.tar.gz
+ regexp: bosh-stemcell-([0-9.]+)-google-kvm-ubuntu-[a-z]+-raw.tar.gz
type: gcs-resource
- name: candidate-aws-light-(@= data.values.stemcell_details.os_name @)-stemcell-(@= str(data.values.stemcell_details.major_version) @)
diff --git a/ci/pipeline-vars.yml b/ci/pipeline-vars.yml
index 6d7890ccb..2e90d44ae 100644
--- a/ci/pipeline-vars.yml
+++ b/ci/pipeline-vars.yml
@@ -9,6 +9,7 @@ stemcell_details:
os_short_name: resolute
subnet_int: "26" #! use last two digits of release year: ex 2010 -> 10
use_efi: true
+ test_ipv6: false
bot_email: infra@cloudfoundry.org
bot_name: CI Bot
include_iaas: [
diff --git a/ci/tasks/light-google/make-raw-from-heavy-stemcell.sh b/ci/tasks/light-google/make-raw-from-heavy-stemcell.sh
index 0603fc587..357103b1b 100755
--- a/ci/tasks/light-google/make-raw-from-heavy-stemcell.sh
+++ b/ci/tasks/light-google/make-raw-from-heavy-stemcell.sh
@@ -19,7 +19,7 @@ stemcell_url() {
resource="/${STEMCELL_BUCKET_PATH}/${name}"
- if [ ! -z "$AWS_ACCESS_KEY_ID" ]; then
+ if [ ! -z "${AWS_ACCESS_KEY_ID}" ]; then
expires=$(date +%s)
expires=$((expires + 30))
diff --git a/image-metalinks/ubuntu-jammy/ubuntu-jammy.meta4 b/image-metalinks/ubuntu-jammy/ubuntu-jammy.meta4
index 28fa87f9b..6abb875d4 100644
--- a/image-metalinks/ubuntu-jammy/ubuntu-jammy.meta4
+++ b/image-metalinks/ubuntu-jammy/ubuntu-jammy.meta4
@@ -1,12 +1,12 @@
- f5aa668b4001073ae7cc4470f02993798756ecf51f5cb2c75efdded48fb1979ac702709e45ed01ca4d0361f2175095458d5fdec59e64792169799eeed3fdc795
- bb01b17347b77f28de2758794d9b9c6cfcbd1ce8f9fc4bf855ec013e945240b1
- 7d1b9139bcde2a4cc5bd49d566ef4d00c185fcd4
- bc82513c38a4d4074ee7d5eb93fb2c31
- 435226218
+ 7ca6be1910f762add36fa3ca8e59155841102e197eaa3873dd0e8bf9a1482c0b83a499a8db9e3fd2b26986d76cb0bff30fb76bc058dd1a35698990800533d1e5
+ e757b7b6a4e1d80ff2da7ac8df472117857c7f20574545b632f38d5f9a0df82c
+ 33a812490bbeadfb7e79b75e20d8ee5c0c47d597
+ 976c3ca90260c8d6d0f23980bc223038
+ 435206437
https://storage.googleapis.com/bosh-os-images/ubuntu-jammy/ubuntu-jammy.tgz
- 1111.0.0
+ 1112.0.0
8fb4b6e9b9f2469249a8f20ee65a56dbdd663bf7b3eee14e49fefeaa8dc5826c553a9dc81b2af4cb56a1ff29cc18c5cc8610b2ca670ef647fedd4c9645a6db02
@@ -15,8 +15,8 @@
a1ad3da61ce7f95f9ca6a247f554a59d
2177
https://storage.googleapis.com/bosh-os-images/ubuntu-jammy/usn-log.json
- 1111.0.0
+ 1112.0.0
metalink-repository-resource/0.0.0
- 2026-06-21T00:16:18.604878649Z
+ 2026-06-22T23:28:29.50957337Z
diff --git a/image-metalinks/ubuntu-noble/ubuntu-noble.meta4 b/image-metalinks/ubuntu-noble/ubuntu-noble.meta4
index 3b3723b5c..5f0dd5a51 100644
--- a/image-metalinks/ubuntu-noble/ubuntu-noble.meta4
+++ b/image-metalinks/ubuntu-noble/ubuntu-noble.meta4
@@ -1,22 +1,22 @@
- a59cf5f49530bbf3e5c8e3984271e9ca899a9210b0c600af03d47adaf751bad582144edda6fa5f8b37bfe50c61128037bef448c86166937390616445bc50af08
- 16e5c20f6c73e30f086040088ad47c283c72dcfdd481aaafbfe14330c6ac9169
- fb2c61e81957e9aa08729f928e8e5a645ed3c8f9
- adca95d2db5cac2a19ec1e0e66c7a82e
- 374576198
+ cf2cdc32d8da8fb76856c75382e979c68ed5add84280034bc01fc531c92bdaaf10d873f68c6726bc9f3bd77c1f9d70b1cf725a07e5cce97ebf3be8064c82b50d
+ 2345175811b6a7f275f9615cc67a3fc0dc6ff6699e63d48ef4844d0db8674178
+ ae2def35391e0534459596cd7e157574e7280178
+ dff2f8df91cf488c337d17e1c9c5cfff
+ 374564659
https://storage.googleapis.com/bosh-os-images/ubuntu-noble/ubuntu-noble.tgz
- 142.0.0
+ 143.0.0
- 8e6ab7e8e7af3485bc01bf86d30e4602ac829387f14edabd340f95659bfb92e5263672a44a7c77a484205da1c30a3736901ecd987176932e14873ceda78be9ee
- 1c5efc55cf8392396e9fcc76ee2dac6b7479ed7292f3cde0351639d8275b2ae6
- 250857d7052f120f05ff1a98f115b3ea3925f2dc
- d1da05acbb3ead37c41ad0dfcc60467e
- 10702
+ be688838ca8686e5c90689bf2ab585cef1137c999b48c70b92f67a5c34dc15697b5d11c982ed6d71be1e1e7f7b4e0733884aa97c3f7a339a8ed03577cf74be09
+ 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
+ adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
+ 68b329da9893e34099c7d8ad5cb9c940
+ 1
https://storage.googleapis.com/bosh-os-images/ubuntu-noble/usn-log.json
- 142.0.0
+ 143.0.0
metalink-repository-resource/0.0.0
- 2026-06-21T00:15:09.227960758Z
+ 2026-06-22T23:45:51.5443115Z