From f6f53bb5316a14ef92f16f4ad05cb545c46ee138 Mon Sep 17 00:00:00 2001 From: aram price Date: Tue, 6 Jan 2026 14:24:14 -0800 Subject: [PATCH 01/32] CI: fix start-docker script - replace ruby with bash - fail if more than one IP addr is found for "OUTER_CONTAINER_IP" - sundry bash lint cleanup --- ci/dockerfiles/docker-cpi/start-bosh.sh | 46 ++++++++++++++++++------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/ci/dockerfiles/docker-cpi/start-bosh.sh b/ci/dockerfiles/docker-cpi/start-bosh.sh index 96ea9272e4..1b2d756e50 100755 --- a/ci/dockerfiles/docker-cpi/start-bosh.sh +++ b/ci/dockerfiles/docker-cpi/start-bosh.sh @@ -90,10 +90,12 @@ function stop_docker() { } function start_docker() { + local certs_dir + certs_dir="${1}" # docker will fail starting with the new iptables. it throws: # iptables v1.8.7 (nf_tables): Could not fetch rule set generation id: .... update-alternatives --set iptables /usr/sbin/iptables-legacy - generate_certs $1 + generate_certs "${certs_dir}" mkdir -p /var/log mkdir -p /var/run @@ -110,7 +112,8 @@ function start_docker() { mount -o remount,rw /proc/sys fi - local mtu=$(cat /sys/class/net/$(ip route get 169.254.169.254|awk '{ print $5 }')/mtu) + local mtu + mtu=$(cat "/sys/class/net/$(ip route get 169.254.169.254|awk '{ print $5 }')/mtu") [[ ! -d /etc/docker ]] && mkdir /etc/docker cat < /etc/docker/daemon.json @@ -131,11 +134,11 @@ EOF service docker start export DOCKER_TLS_VERIFY=1 - export DOCKER_CERT_PATH=$1 + export DOCKER_CERT_PATH="${certs_dir}" rc=1 for i in $(seq 1 100); do - echo waiting for docker to come up... + echo "waiting for docker to come up... (${i})" sleep 1 set +e docker info @@ -150,13 +153,23 @@ EOF exit 1 fi - echo $certs_dir + echo "${certs_dir}" } function main() { - export OUTER_CONTAINER_IP=$(ruby -rsocket -e 'puts Socket.ip_address_list - .reject { |addr| !addr.ip? || addr.ipv4_loopback? || addr.ipv6? } - .map { |addr| addr.ip_address }') + OUTER_CONTAINER_IP=$( + ip addr \ + | grep 'inet ' \ + | grep -v -E ' (127\.|172\.|10\.245)' \ + | cut -d/ -f 1 \ + | cut -d' ' -f6 + ) + export OUTER_CONTAINER_IP + + if [[ "${OUTER_CONTAINER_IP}" == *$'\n'* ]] ; then + echo "OUTER_CONTAINER_IP had more than one ip: '${OUTER_CONTAINER_IP}'" >&2 + exit 1 + fi export DOCKER_HOST="tcp://${OUTER_CONTAINER_IP}:4243" @@ -167,9 +180,14 @@ function main() { local local_bosh_dir local_bosh_dir="/tmp/local-bosh/director" - docker network create -d bridge --subnet=10.245.0.0/16 director_network + local docker_network_name="director_network" + if docker network ls | grep -q "${docker_network_name}"; then + echo "A docker network named '${docker_network_name}' already exists, skipping creation" >&2 + else + docker network create -d bridge --subnet=10.245.0.0/16 "${docker_network_name}" + fi - pushd ${BOSH_DEPLOYMENT_PATH:-/usr/local/bosh-deployment} > /dev/null + pushd "${BOSH_DEPLOYMENT_PATH:-/usr/local/bosh-deployment}" > /dev/null export BOSH_DIRECTOR_IP="10.245.0.3" export BOSH_ENVIRONMENT="docker-director" @@ -191,7 +209,7 @@ function main() { -v internal_ip="${BOSH_DIRECTOR_IP}" \ -v docker_host="${DOCKER_HOST}" \ -v network=director_network \ - -v docker_tls="{\"ca\": \"$(cat ${certs_dir}/ca_json_safe.pem)\",\"certificate\": \"$(cat ${certs_dir}/client_certificate_json_safe.pem)\",\"private_key\": \"$(cat ${certs_dir}/client_private_key_json_safe.pem)\"}" \ + -v docker_tls="{\"ca\": \"$(cat "${certs_dir}/ca_json_safe.pem")\",\"certificate\": \"$(cat "${certs_dir}/client_certificate_json_safe.pem")\",\"private_key\": \"$(cat "${certs_dir}/client_private_key_json_safe.pem")\"}" \ ${@} > "${local_bosh_dir}/bosh-director.yml" command bosh create-env "${local_bosh_dir}/bosh-director.yml" \ @@ -201,10 +219,12 @@ function main() { bosh int "${local_bosh_dir}/creds.yml" --path /director_ssl/ca > "${local_bosh_dir}/ca.crt" bosh -e "${BOSH_DIRECTOR_IP}" --ca-cert "${local_bosh_dir}/ca.crt" alias-env "${BOSH_ENVIRONMENT}" + bosh_client_secret="$(bosh int "${local_bosh_dir}/creds.yml" --path /admin_password)" + cat < "${local_bosh_dir}/env" export BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" export BOSH_CLIENT=admin - export BOSH_CLIENT_SECRET=`bosh int "${local_bosh_dir}/creds.yml" --path /admin_password` + export BOSH_CLIENT_SECRET=${bosh_client_secret} export BOSH_CA_CERT="${local_bosh_dir}/ca.crt" EOF @@ -215,4 +235,4 @@ EOF popd > /dev/null } -main $@ +main ${@} From 2e413a5cd80050c05968fef8056fb2fd3fbc3b9b Mon Sep 17 00:00:00 2001 From: aram price Date: Tue, 6 Jan 2026 14:25:17 -0800 Subject: [PATCH 02/32] CI: preliminary pipeline changes - rename some job - remove (ubuntu-)jammy references - replace jammy with noble - replace concours `var` with YAML anchor(s) --- ci/configure.sh | 3 +- ci/pipeline.yml | 184 +++++++++++++++++++++++++----------------------- 2 files changed, 96 insertions(+), 91 deletions(-) diff --git a/ci/configure.sh b/ci/configure.sh index 7271f653e1..909dbf0072 100755 --- a/ci/configure.sh +++ b/ci/configure.sh @@ -4,5 +4,4 @@ set -euo pipefail REPO_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" fly -t "${CONCOURSE_TARGET:-bosh}" set-pipeline -p bosh-director \ - -c "${REPO_ROOT}/ci/pipeline.yml" \ - --var=branch_name=main + -c "${REPO_ROOT}/ci/pipeline.yml" diff --git a/ci/pipeline.yml b/ci/pipeline.yml index 69547bcd5f..94f8ad28ad 100644 --- a/ci/pipeline.yml +++ b/ci/pipeline.yml @@ -1,5 +1,7 @@ --- anchors: + - &branch_name main + - &brats_env_name brats-bosh-main - &ubuntu_base ubuntu:noble - &integration_image ghcr.io/cloudfoundry/bosh/integration # TODO: delete once all pipelines work w/ Noble @@ -26,14 +28,14 @@ groups: - integration-postgres-hotswap - integration-mysql - candidate-release - - compile-bosh-dev-release-jammy - - bats-ubuntu-jammy + - create-bosh-candidate-release-compiled + - bats - bats-cleanup-leftovers - - bats-fips-ubuntu-jammy + - bats-fips - bats-fips-cleanup-leftovers - - brats-acceptance-ubuntu-jammy - - brats-utils-ubuntu-jammy - - brats-performance-ubuntu-jammy + - brats-acceptance + - brats-utils + - brats-performance - bosh-disaster-recovery-acceptance-tests - upgrade-postgres - upgrade-postgres-cleanup-leftovers @@ -266,7 +268,7 @@ jobs: image_resource: type: docker-image source: - tag: ((branch_name)) + tag: *branch_name repository: ghcr.io/cloudfoundry/bosh/integration username: ((github_read_write_packages.username)) password: ((github_read_write_packages.password)) @@ -401,7 +403,7 @@ jobs: file: "release/bosh-dev-release.tgz" - - name: compile-bosh-dev-release-jammy + - name: create-bosh-candidate-release-compiled plan: - in_parallel: - get: bosh-ci @@ -419,26 +421,26 @@ jobs: file: bosh-ci/ci/tasks/export-release.yml image: docker-cpi-image privileged: true - - put: bosh-compiled-candidate-jammy + - put: bosh-candidate-release-compiled params: file: "compiled-release/*.tgz" - - name: bats-ubuntu-jammy + - name: bats serial: true - serial_groups: [ bats-ubuntu-jammy ] + serial_groups: [ bats ] plan: - do: - in_parallel: - get: bosh-ci - get: integration-image - get: bosh-candidate-release-tarballs - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: bosh-release - resource: bosh-compiled-candidate-jammy + resource: bosh-candidate-release-compiled trigger: true - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: stemcell - resource: gcp-ubuntu-jammy + resource: gcp-stemcell - get: bosh-cli params: globs: @@ -446,14 +448,14 @@ jobs: - get: bats - get: bosh-deployment - get: bosh - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - put: terraform resource: gcp-terraform params: - env_name: bats-ubuntu-jammy + env_name: bats terraform_source: bosh-ci/ci/bats/iaas/gcp/terraform vars: - name: bats-ubuntu-jammy + name: bats - do: - task: deploy-director file: bosh-ci/ci/bats/tasks/deploy-director.yml @@ -470,7 +472,7 @@ jobs: file: bosh-ci/ci/bats/iaas/gcp/prepare-bats-config.yml image: integration-image params: - STEMCELL_NAME: bosh-google-kvm-ubuntu-jammy-go_agent + STEMCELL_NAME: bosh-google-kvm-ubuntu-noble - task: run-bats file: bats/ci/tasks/run-bats.yml image: integration-image @@ -484,20 +486,20 @@ jobs: no_get: true params: action: destroy - env_name: bats-ubuntu-jammy + env_name: bats terraform_source: bosh-ci/ci/bats/iaas/gcp/terraform vars: - name: bats-ubuntu-jammy + name: bats - task: cleanup-leftover-environments file: bosh-ci/ci/tasks/cleanup-leftovers.yml image: integration-image params: - LEFTOVERS_PREFIX: bats-ubuntu-jammy + LEFTOVERS_PREFIX: bats GCP_JSON_KEY: ((gcp_json_key)) - name: bats-cleanup-leftovers serial: true - serial_groups: [ bats-ubuntu-jammy ] + serial_groups: [ bats ] plan: - in_parallel: - get: bosh-ci @@ -508,25 +510,25 @@ jobs: file: bosh-ci/ci/tasks/cleanup-leftovers.yml image: integration-image params: - LEFTOVERS_PREFIX: bats-ubuntu-jammy + LEFTOVERS_PREFIX: bats GCP_JSON_KEY: ((gcp_json_key)) - - name: bats-fips-ubuntu-jammy + - name: bats-fips serial: true - serial_groups: [ bats-fips-ubuntu-jammy ] + serial_groups: [ bats-fips ] plan: - do: - in_parallel: - get: bosh-ci - get: integration-image - get: bosh-candidate-release-tarballs - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: bosh-release - resource: bosh-compiled-candidate-jammy + resource: bosh-candidate-release-compiled trigger: true - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: stemcell - resource: gcp-ubuntu-jammy-fips + resource: gcp-stemcell-fips - get: bosh-cli params: globs: @@ -534,14 +536,14 @@ jobs: - get: bats - get: bosh-deployment - get: bosh - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - put: terraform resource: gcp-terraform params: - env_name: bats-fips-ubuntu-jammy + env_name: bats-fips terraform_source: bosh-ci/ci/bats/iaas/gcp/terraform vars: - name: bats-fips-ubuntu-jammy + name: bats-fips - do: - task: deploy-director file: bosh-ci/ci/bats/tasks/deploy-director.yml @@ -573,20 +575,20 @@ jobs: no_get: true params: action: destroy - env_name: bats-fips-ubuntu-jammy + env_name: bats-fips terraform_source: bosh-ci/ci/bats/iaas/gcp/terraform vars: - name: bats-fips-ubuntu-jammy + name: bats-fips - task: cleanup-leftover-environments file: bosh-ci/ci/tasks/cleanup-leftovers.yml image: integration-image params: - LEFTOVERS_PREFIX: bats-fips-ubuntu-jammy + LEFTOVERS_PREFIX: bats-fips GCP_JSON_KEY: ((gcp_json_key)) - name: bats-fips-cleanup-leftovers serial: true - serial_groups: [ bats-fips-ubuntu-jammy ] + serial_groups: [ bats-fips ] plan: - in_parallel: - get: bosh-ci @@ -597,34 +599,36 @@ jobs: file: bosh-ci/ci/tasks/cleanup-leftovers.yml image: integration-image params: - LEFTOVERS_PREFIX: bats-fips-ubuntu-jammy + LEFTOVERS_PREFIX: bats-fips GCP_JSON_KEY: ((gcp_json_key)) - - name: brats-acceptance-ubuntu-jammy + - name: brats-acceptance serial: true plan: - in_parallel: - get: bosh-ci - get: integration-image - get: bosh - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: bosh-dns-release - get: stemcell resource: warden-stemcell - get: bosh-candidate-release-tarballs - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: bosh-release - resource: bosh-compiled-candidate-jammy + resource: bosh-candidate-release-tarballs + passed: [ create-bosh-candidate-release-compiled ] + - get: bosh-candidate-release-compiled trigger: true - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: bosh-deployment - get: docker-cpi-image - do: - put: brats-terraform params: - env_name: brats-ubuntu-jammy-((branch_name)) + env_name: *brats_env_name terraform_source: bosh-ci/ci/shared/brats/terraform - vars: &brats-terraform-jammy-vars + vars: &brats-terraform-vars aws_access_key_id: ((brats_rds_terraform_aws_access_key.username)) aws_secret_access_key: ((brats_rds_terraform_aws_access_key.password)) database_name: brats @@ -649,46 +653,46 @@ jobs: GCP_POSTGRES_EXTERNAL_DB_USER: ((brats_database_user.username)) GCP_POSTGRES_EXTERNAL_DB_PASSWORD: ((brats_database_user.password)) GCP_POSTGRES_EXTERNAL_DB_NAME: brats - STEMCELL_OS: ubuntu-jammy + STEMCELL_OS: ubuntu-noble ensure: put: brats-terraform no_get: true params: - env_name: brats-ubuntu-jammy-((branch_name)) + env_name: *brats_env_name terraform_source: bosh-ci/ci/shared/brats/terraform - vars: *brats-terraform-jammy-vars + vars: *brats-terraform-vars action: destroy - - name: brats-performance-ubuntu-jammy + - name: brats-performance serial: true plan: - in_parallel: - get: bosh-ci - get: integration-image - get: bosh - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: bosh-release - resource: bosh-compiled-candidate-jammy + resource: bosh-candidate-release-compiled trigger: true - get: cf-deployment - get: docker-cpi-image - get: stemcell resource: warden-stemcell - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - do: - task: test-brats-performance image: docker-cpi-image file: bosh-ci/ci/shared/brats/test-performance.yml privileged: true - - name: brats-utils-ubuntu-jammy + - name: brats-utils serial: true plan: - in_parallel: - get: bosh-ci - get: integration-image - get: bosh - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - do: - task: test-brats-utils file: bosh-ci/ci/shared/brats/test-utils.yml @@ -701,15 +705,15 @@ jobs: - get: bosh-ci - get: integration-image - get: bosh - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: stemcell resource: warden-stemcell - get: bosh-candidate-release-tarballs - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: bosh-release - resource: bosh-compiled-candidate-jammy + resource: bosh-candidate-release-compiled trigger: true - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: bosh-disaster-recovery-acceptance-tests - get: bosh-deployment - get: bbr-cli-binary @@ -731,27 +735,27 @@ jobs: - get: bosh-ci - get: integration-image - get: bosh - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: stemcell - resource: gcp-ubuntu-jammy + resource: gcp-stemcell - get: bosh-deployment - get: bosh-cli params: globs: - "bosh-cli-*-linux-amd64" - get: bosh-release - resource: bosh-compiled-candidate-jammy + resource: bosh-candidate-release-compiled trigger: true - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: last-released-bosh-release - get: zookeeper-release - put: terraform resource: gcp-terraform params: - env_name: upgrade-postgres-ubuntu-jammy + env_name: upgrade-postgres terraform_source: bosh-ci/ci/bats/iaas/gcp/terraform vars: - name: upgrade-postgres-ubuntu-jammy + name: upgrade-postgres - do: - task: deploy-previous-version image: integration-image @@ -804,10 +808,10 @@ jobs: no_get: true params: action: destroy - env_name: upgrade-postgres-ubuntu-jammy + env_name: upgrade-postgres terraform_source: bosh-ci/ci/bats/iaas/gcp/terraform vars: - name: upgrade-postgres-ubuntu-jammy + name: upgrade-postgres - task: cleanup-leftover-environments file: bosh-ci/ci/tasks/cleanup-leftovers.yml image: integration-image @@ -839,27 +843,27 @@ jobs: - get: bosh-ci - get: integration-image - get: bosh - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: stemcell - resource: gcp-ubuntu-jammy + resource: gcp-stemcell - get: bosh-deployment - get: bosh-cli params: globs: - "bosh-cli-*-linux-amd64" - get: bosh-release - resource: bosh-compiled-candidate-jammy + resource: bosh-candidate-release-compiled trigger: true - passed: [ compile-bosh-dev-release-jammy ] + passed: [ create-bosh-candidate-release-compiled ] - get: last-released-bosh-release - get: zookeeper-release - put: terraform resource: gcp-terraform params: - env_name: upgrade-mysql-ubuntu-jammy + env_name: upgrade-mysql terraform_source: bosh-ci/ci/bats/iaas/gcp/terraform vars: - name: upgrade-mysql-ubuntu-jammy + name: upgrade-mysql create_mysql_db: true - do: - task: deploy-previous-version @@ -915,10 +919,10 @@ jobs: no_get: true params: action: destroy - env_name: upgrade-mysql-ubuntu-jammy + env_name: upgrade-mysql terraform_source: bosh-ci/ci/bats/iaas/gcp/terraform vars: - name: upgrade-mysql-ubuntu-jammy + name: upgrade-mysql - task: cleanup-leftover-environments file: bosh-ci/ci/tasks/cleanup-leftovers.yml image: integration-image @@ -947,8 +951,8 @@ jobs: - get: bosh trigger: true passed: - - bats-ubuntu-jammy - - brats-acceptance-ubuntu-jammy + - bats + - brats-acceptance - bosh-disaster-recovery-acceptance-tests - upgrade-postgres - upgrade-mysql @@ -1751,7 +1755,7 @@ resources: type: git source: uri: git@github.com:cloudfoundry/bosh.git - branch: ((branch_name)) + branch: *branch_name private_key: ((github_deploy_key_bosh.private_key)) ignore_paths: - ci @@ -1760,6 +1764,7 @@ resources: type: git source: uri: https://github.com/cloudfoundry/bosh.git + branch: *branch_name paths: - ci @@ -1767,6 +1772,7 @@ resources: type: git source: uri: https://github.com/cloudfoundry/bosh.git + branch: *branch_name paths: - ci/dockerfiles @@ -1798,12 +1804,12 @@ resources: json_key: ((bosh_director_oss_ci_service_account_json)) versioned_file: "bosh-dev-release.tgz" - - name: bosh-compiled-candidate-jammy + - name: bosh-candidate-release-compiled type: gcs-resource source: - bucket: bosh-director-oss-ci-compiled-candidate-jammy + bucket: bosh-ci-candidate-compiled-releases json_key: ((bosh_director_oss_ci_service_account_json)) - regexp: "bosh-.*dev\\.(\\d+).*jammy.*.tgz" + regexp: "bosh-.*dev\\.(\\d+).*noble.*.tgz" - name: bosh-disaster-recovery-acceptance-tests type: git @@ -1890,12 +1896,12 @@ resources: source: uri: https://github.com/cloudfoundry/cf-deployment - - name: gcp-ubuntu-jammy + - name: gcp-stemcell type: bosh-io-stemcell source: - name: bosh-google-kvm-ubuntu-jammy-go_agent + name: bosh-google-kvm-ubuntu-noble - - name: gcp-ubuntu-jammy-fips + - name: gcp-stemcell-fips type: bosh-io-stemcell source: name: bosh-google-kvm-ubuntu-jammy-fips-go_agent @@ -1906,7 +1912,7 @@ resources: - name: warden-stemcell type: bosh-io-stemcell source: - name: bosh-warden-boshlite-ubuntu-jammy-go_agent + name: bosh-warden-boshlite-ubuntu-noble - name: bosh-agent type: git @@ -1936,7 +1942,7 @@ resources: type: docker-image source: repository: ghcr.io/cloudfoundry/bosh/integration - tag: ((branch_name)) + tag: *branch_name username: ((github_read_write_packages.username)) password: ((github_read_write_packages.password)) @@ -1952,7 +1958,7 @@ resources: type: docker-image source: repository: ghcr.io/cloudfoundry/bosh/main-mysql-8.0 - tag: ((branch_name)) + tag: *branch_name username: ((github_read_write_packages.username)) password: ((github_read_write_packages.password)) @@ -1960,7 +1966,7 @@ resources: type: docker-image source: repository: ghcr.io/cloudfoundry/bosh/main-postgres-13 - tag: ((branch_name)) + tag: *branch_name username: ((github_read_write_packages.username)) password: ((github_read_write_packages.password)) @@ -1968,7 +1974,7 @@ resources: type: docker-image source: repository: ghcr.io/cloudfoundry/bosh/main-postgres-15 - tag: ((branch_name)) + tag: *branch_name username: ((github_read_write_packages.username)) password: ((github_read_write_packages.password)) @@ -1976,7 +1982,7 @@ resources: type: docker-image source: repository: ghcr.io/cloudfoundry/bosh/docker-cpi - tag: ((branch_name)) + tag: *branch_name username: ((github_read_write_packages.username)) password: ((github_read_write_packages.password)) From 11c84776671664596ea01bc41a602b218857cdfa Mon Sep 17 00:00:00 2001 From: aram price Date: Tue, 6 Jan 2026 14:52:36 -0800 Subject: [PATCH 03/32] CI: remove jammy related jobs from pipeline --- ci/pipeline.yml | 125 ------------------------------------------------ 1 file changed, 125 deletions(-) diff --git a/ci/pipeline.yml b/ci/pipeline.yml index 94f8ad28ad..f8b992f8c6 100644 --- a/ci/pipeline.yml +++ b/ci/pipeline.yml @@ -4,9 +4,6 @@ anchors: - &brats_env_name brats-bosh-main - &ubuntu_base ubuntu:noble - &integration_image ghcr.io/cloudfoundry/bosh/integration - # TODO: delete once all pipelines work w/ Noble - - &ubuntu_base_jammy ubuntu:jammy - - &integration_image_jammy ghcr.io/cloudfoundry/bosh/integration:jammy groups: - name: bosh @@ -57,14 +54,11 @@ groups: - build-main-postgres-15 - build-main-mysql-8-0 - build-integration - - build-integration-jammy - name: container-cpi-images jobs: - build-docker-cpi - - build-docker-cpi-jammy - build-warden-cpi - - build-warden-cpi-jammy jobs: - name: gate @@ -1162,45 +1156,6 @@ jobs: get_params: skip_download: true - # TODO: delete once all pipelines work w/ Noble - - name: build-integration-jammy - public: true - serial: true - plan: - - get: weekly - trigger: true - - get: golang-docker-image - trigger: true - - get: ubuntu-docker-image - trigger: true - - get: ruby-release - trigger: true - passed: [ bump-packages ] - - get: bosh-ci-dockerfiles - trigger: true - - get: bosh - - get: bosh-deployment - params: - depth: 1 - - task: build-docker-args - file: bosh-ci-dockerfiles/ci/dockerfiles/integration/build-docker-args.yml - image: ubuntu-docker-image - params: - GITHUB_ACCESS_TOKEN: ((github_public_repo_token)) - - put: integration-image-jammy - inputs: - - bosh-ci-dockerfiles - - docker-build-args - params: - build: . - build_args_file: docker-build-args/docker-build-args.json - build_args: - BASE_IMAGE: *ubuntu_base_jammy - dockerfile: bosh-ci-dockerfiles/ci/dockerfiles/integration/Dockerfile - tag_as_latest: false - get_params: - skip_download: true - - name: build-main-postgres-13 public: true serial: true @@ -1279,33 +1234,6 @@ jobs: get_params: skip_download: true - # TODO: delete once all pipelines work w/ Noble - - name: build-docker-cpi-jammy - public: true - serial: true - plan: - - in_parallel: - - get: bosh-ci - - get: integration-image - - get: bosh-ci-dockerfiles - - get: integration-image-jammy - trigger: true - - get: bosh-deployment - trigger: true - - task: copy-dependencies - file: bosh-ci/ci/tasks/prepare-build-context-for-container-cpi-image.yml - image: integration-image - params: - CONTAINER_CPI_TYPE: docker-cpi - - put: docker-cpi-image-jammy - params: - build: docker-build-context - build_args: - BASE_IMAGE: *integration_image_jammy - tag_as_latest: false - get_params: - skip_download: true - - name: build-warden-cpi public: true serial: true @@ -1331,33 +1259,6 @@ jobs: get_params: skip_download: true - # TODO: delete once all pipelines work w/ Noble - - name: build-warden-cpi-jammy - public: true - serial: true - plan: - - in_parallel: - - get: bosh-ci - - get: integration-image - - get: bosh-ci-dockerfiles - - get: integration-image-jammy - trigger: true - - get: bosh-deployment - trigger: true - - task: copy-dependencies - file: bosh-ci/ci/tasks/prepare-build-context-for-container-cpi-image.yml - image: integration-image - params: - CONTAINER_CPI_TYPE: warden-cpi - - put: warden-cpi-image-jammy - params: - build: docker-build-context - build_args: - BASE_IMAGE: *integration_image_jammy - tag_as_latest: false - get_params: - skip_download: true - - name: bump-deps serial: true plan: @@ -1946,14 +1847,6 @@ resources: username: ((github_read_write_packages.username)) password: ((github_read_write_packages.password)) - - name: integration-image-jammy - type: docker-image - source: - repository: ghcr.io/cloudfoundry/bosh/integration - tag: jammy - username: ((github_read_write_packages.username)) - password: ((github_read_write_packages.password)) - - name: integration-mysql-8-0-image type: docker-image source: @@ -1986,15 +1879,6 @@ resources: username: ((github_read_write_packages.username)) password: ((github_read_write_packages.password)) - # TODO: delete once all pipelines work w/ Noble - - name: docker-cpi-image-jammy - type: docker-image - source: - repository: ghcr.io/cloudfoundry/bosh/docker-cpi - tag: jammy - username: ((github_read_write_packages.username)) - password: ((github_read_write_packages.password)) - - name: bosh-cli-registry-image type: registry-image source: @@ -2039,15 +1923,6 @@ resources: username: ((github_read_write_packages.username)) password: ((github_read_write_packages.password)) - # TODO: delete once all pipelines work w/ Noble - - name: warden-cpi-image-jammy - type: docker-image - source: - repository: ghcr.io/cloudfoundry/bosh/warden-cpi - tag: jammy - username: ((github_read_write_packages.username)) - password: ((github_read_write_packages.password)) - - name: last-released-bosh-release type: bosh-io-release source: From dc76657862d9fa6fe8de4720e57d06702feeddb3 Mon Sep 17 00:00:00 2001 From: aram price Date: Tue, 6 Jan 2026 16:04:32 -0800 Subject: [PATCH 04/32] CI: switch from docker cpi to agent compile workflow --- ci/pipeline.yml | 10 ++-------- ci/tasks/export-release.sh | 34 ---------------------------------- ci/tasks/export-release.yml | 13 ------------- 3 files changed, 2 insertions(+), 55 deletions(-) delete mode 100755 ci/tasks/export-release.sh delete mode 100644 ci/tasks/export-release.yml diff --git a/ci/pipeline.yml b/ci/pipeline.yml index f8b992f8c6..98ceb5aa10 100644 --- a/ci/pipeline.yml +++ b/ci/pipeline.yml @@ -403,18 +403,13 @@ jobs: - get: bosh-ci - get: bosh passed: [ candidate-release ] + - get: bosh-deployment - get: release resource: bosh-candidate-release-tarballs passed: [ candidate-release ] trigger: true - - get: stemcell - resource: warden-stemcell - trigger: true - - get: docker-cpi-image - task: export-release - file: bosh-ci/ci/tasks/export-release.yml - image: docker-cpi-image - privileged: true + file: bosh-deployment/ci/tasks/shared/bosh-agent-compile.yml - put: bosh-candidate-release-compiled params: file: "compiled-release/*.tgz" @@ -672,7 +667,6 @@ jobs: - get: docker-cpi-image - get: stemcell resource: warden-stemcell - passed: [ create-bosh-candidate-release-compiled ] - do: - task: test-brats-performance image: docker-cpi-image diff --git a/ci/tasks/export-release.sh b/ci/tasks/export-release.sh deleted file mode 100755 index 72b6dac709..0000000000 --- a/ci/tasks/export-release.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -bosh_repo_dir="$(realpath "$(cd "$(dirname "${BASH_SOURCE[0]}")/../../" && pwd)")" - -main() { - set -eu - - tar -xf release/*.tgz "$( tar -tzf release/*.tgz | grep 'release.MF' )" - tar -xf stemcell/*.tgz "$( tar -tzf stemcell/*.tgz | grep 'stemcell.MF' )" - - export STEMCELL_OS=$( grep -E '^operating_system: ' stemcell.MF | awk '{print $2}' | tr -d "\"'" ) - local RELEASE_NAME=$( grep -E '^name: ' release.MF | awk '{print $2}' | tr -d "\"'" ) - local RELEASE_VERSION=$( grep -E '^version: ' release.MF | awk '{print $2}' | tr -d "\"'" ) - local RELEASE_TARBALL=$( echo release/*.tgz ) - local STEMCELL_VERSION=$( grep -E '^version: ' stemcell.MF | awk '{print $2}' | tr -d "\"'" ) - - source start-bosh - source /tmp/local-bosh/director/env - - bosh -n upload-stemcell stemcell/*.tgz - bosh -n upload-release "${RELEASE_TARBALL}" - - bosh -n -d compilation deploy "${bosh_repo_dir}/ci/tasks/export-release/compilation-manifest.yml" \ - -v release_name="${RELEASE_NAME}" \ - -v release_version="'${RELEASE_VERSION}'" \ - -v stemcell_os="${STEMCELL_OS}" \ - -v stemcell_version="'${STEMCELL_VERSION}'" - - bosh -d compilation export-release "${RELEASE_NAME}/${RELEASE_VERSION}" "${STEMCELL_OS}/${STEMCELL_VERSION}" - - mv ./*.tgz "compiled-release/$(echo *.tgz | sed "s/${STEMCELL_VERSION}-.*\.tgz/${STEMCELL_VERSION}.tgz/")" -} - -main "$@" diff --git a/ci/tasks/export-release.yml b/ci/tasks/export-release.yml deleted file mode 100644 index 849096eabb..0000000000 --- a/ci/tasks/export-release.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -platform: linux - -inputs: -- name: bosh-ci -- name: release -- name: stemcell - -outputs: -- name: compiled-release - -run: - path: bosh-ci/ci/tasks/export-release.sh From 0cb262ba415791056e0270025066d19e6f44ae23 Mon Sep 17 00:00:00 2001 From: aram price Date: Tue, 6 Jan 2026 17:12:37 -0800 Subject: [PATCH 05/32] CI: warden-cpi - fixup ruby template scripts - addresses ruby style / deprecation issues --- ci/dockerfiles/warden-cpi/install-garden.rb | 56 +++++++++--------- .../warden-cpi/template-renderer.rb | 57 ++++++++++--------- 2 files changed, 58 insertions(+), 55 deletions(-) diff --git a/ci/dockerfiles/warden-cpi/install-garden.rb b/ci/dockerfiles/warden-cpi/install-garden.rb index 2bbcfa60ed..42b7279d3e 100644 --- a/ci/dockerfiles/warden-cpi/install-garden.rb +++ b/ci/dockerfiles/warden-cpi/install-garden.rb @@ -1,55 +1,55 @@ -require 'yaml' -require 'json' -require 'fileutils' -require 'tmpdir' +require "yaml" +require "json" +require "fileutils" +require "tmpdir" garden_archive_path = ARGV[0] -%w{ +%w[ /var/vcap/sys/run/garden /var/vcap/sys/log/garden /var/vcap/data/garden/depo /var/vcap/data/garden/bin /var/vcap/data/tmp -}.each {|path| FileUtils.mkdir_p path} +].each { |path| FileUtils.mkdir_p path } -installed_garden_job_path = File.join('/', 'var', 'vcap', 'jobs', 'garden') +installed_garden_job_path = File.join("/", "var", "vcap", "jobs", "garden") Dir.mktmpdir do |workspace| `tar xzf #{garden_archive_path} -C #{workspace}` - garden_job_path = File.join(workspace, 'garden') + garden_job_path = File.join(workspace, "garden") FileUtils.mkdir_p garden_job_path - `tar xzf #{File.join(workspace, 'jobs', 'garden.tgz')} -C #{garden_job_path}` - garden_job_spec_path = File.join(garden_job_path, 'job.MF') + `tar xzf #{File.join(workspace, "jobs", "garden.tgz")} -C #{garden_job_path}` + garden_job_spec_path = File.join(garden_job_path, "job.MF") job_spec = YAML.load_file(garden_job_spec_path) - job_spec['packages'].each do |package_name| - package_path = File.join('/', 'var', 'vcap', 'packages', package_name) + job_spec["packages"].each do |package_name| + package_path = File.join("/", "var", "vcap", "packages", package_name) FileUtils.mkdir_p(package_path) - `tar xzf #{File.join(workspace, 'compiled_packages', "#{package_name}.tgz")} -C #{package_path}` + `tar xzf #{File.join(workspace, "compiled_packages", "#{package_name}.tgz")} -C #{package_path}` end - context_path = File.join(workspace, 'context.json') + context_path = File.join(workspace, "context.json") context = { - 'default_properties' => job_spec['properties'].map { |key, value| [key, value['default']]}.to_h, - 'job_properties' => { - 'garden' => { - 'allow_host_access': true, - 'debug_listen_address': '127.0.0.1:17013', - 'default_container_grace_time': '0', - 'destroy_containers_on_start': true, - 'graph_cleanup_threshold_in_mb': '0', - 'listen_address': '127.0.0.1:7777', - 'listen_network': 'tcp', + "default_properties" => job_spec["properties"].map { |key, value| [key, value["default"]] }.to_h, + "job_properties" => { + "garden" => { + allow_host_access: true, + debug_listen_address: "127.0.0.1:17013", + default_container_grace_time: "0", + destroy_containers_on_start: true, + graph_cleanup_threshold_in_mb: "0", + listen_address: "127.0.0.1:7777", + listen_network: "tcp" } } } File.write(context_path, context.to_json) - templates = job_spec['templates'] + templates = job_spec["templates"] templates.each do |src, dst| - src_path = File.join(garden_job_path, 'templates', src) + src_path = File.join(garden_job_path, "templates", src) dest_path = File.join(installed_garden_job_path, dst) FileUtils.mkdir_p(File.dirname(dest_path)) - `ruby #{File.join(__dir__, 'template-renderer.rb')} #{context_path} #{src_path} #{dest_path}` + `ruby #{File.join(__dir__, "template-renderer.rb")} #{context_path} #{src_path} #{dest_path}` end end -`chmod +x #{File.join(installed_garden_job_path, 'bin', '*')}` +`chmod +x #{File.join(installed_garden_job_path, "bin", "*")}` diff --git a/ci/dockerfiles/warden-cpi/template-renderer.rb b/ci/dockerfiles/warden-cpi/template-renderer.rb index 92d2222472..da33f7e1a4 100644 --- a/ci/dockerfiles/warden-cpi/template-renderer.rb +++ b/ci/dockerfiles/warden-cpi/template-renderer.rb @@ -6,13 +6,14 @@ class Hash def recursive_merge!(other) - self.merge!(other) do |_, old_value, new_value| - if old_value.class == Hash && new_value.class == Hash + merge!(other) do |_, old_value, new_value| + if old_value.instance_of?(Hash) && new_value.instance_of?(Hash) old_value.recursive_merge!(new_value) else new_value end end + self end end @@ -26,20 +27,21 @@ def initialize(spec) @name = spec["job"]["name"] if spec["job"].is_a?(Hash) @index = spec["index"] - if !spec['job_properties'].nil? - properties1 = spec['job_properties'] - else - properties1 = spec['global_properties'].recursive_merge!(spec['cluster_properties']) - end + properties1 = + if !spec["job_properties"].nil? + spec["job_properties"] + else + spec["global_properties"].recursive_merge!(spec["cluster_properties"]) + end properties = {} - spec['default_properties'].each do |name, value| + spec["default_properties"].each do |name, value| copy_property(properties, properties1, name, value) end - @properties = openstruct(properties) + @properties = open_struct(properties) @raw_properties = properties - @spec = openstruct(spec) + @spec = open_struct(spec) end def get_binding @@ -62,14 +64,16 @@ def if_p(*names) values = names.map do |name| value = lookup_property(@raw_properties, name) return ActiveElseBlock.new(self) if value.nil? + value end - yield *values + yield(*values) + InactiveElseBlock.new end - def if_link(name) + def if_link(_name) false end @@ -94,13 +98,13 @@ def copy_property(dst, src, name, default = nil) dst_ref[keys[-1]] = src_ref.nil? ? default : src_ref end - def openstruct(object) + def open_struct(object) case object when Hash - mapped = object.inject({}) { |h, (k,v)| h[k] = openstruct(v); h } + mapped = object.each_with_object({}) { |(k, v), h| h[k] = open_struct(v) } OpenStruct.new(mapped) when Array - object.map { |item| openstruct(item) } + object.map { |item| open_struct(item) } else object end @@ -142,9 +146,10 @@ def else_if_p(*names, &block) end class InactiveElseBlock - def else; end + def else + end - def else_if_p(*names) + def else_if_p(*_names) InactiveElseBlock.new end end @@ -152,7 +157,7 @@ def else_if_p(*names) # todo do not use JSON in releases class << JSON - alias dump_array_or_hash dump + alias_method :dump_array_or_hash, :dump def dump(*args) arg = args[0] @@ -170,28 +175,26 @@ def initialize(context) end def render(src_path, dst_path) - erb = ERB.new(File.read(src_path), safe_level = nil, trim_mode = "-") + erb = ERB.new(File.read(src_path), trim_mode: "-") erb.filename = src_path - File.open(dst_path, "w") do |f| - f.write(erb.result(@context.get_binding)) - end + File.write(dst_path, erb.result(@context.get_binding)) - rescue Exception => e + rescue Exception => e # rubocop:disable Lint/RescueException name = "#{@context.name}/#{@context.index}" - line_i = e.backtrace.index { |l| l.include?(erb.filename) } - line_num = line_i ? e.backtrace[line_i].split(':')[1] : "unknown" + line_i = e.backtrace&.index { |l| l.include?(erb.filename) } + line_num = line_i ? e.backtrace[line_i].split(":")[1] : "unknown" location = "(line #{line_num}: #{e.inspect})" raise("Error filling in template '#{src_path}' for #{name} #{location}") end end -if $0 == __FILE__ +if $PROGRAM_NAME == __FILE__ context_path, src_path, dst_path = *ARGV - context_hash = JSON.load(File.read(context_path)) + context_hash = JSON.parse(File.read(context_path)) context = TemplateEvaluationContext.new(context_hash) renderer = ERBRenderer.new(context) From 646ef720d181f9948614996288bc1d1463edee60 Mon Sep 17 00:00:00 2001 From: aram price Date: Tue, 6 Jan 2026 16:05:35 -0800 Subject: [PATCH 06/32] CI: remove noble ops file usage - noble behavior is alreayd the bosh-deployment default - docker-cpi image has `docker-env` for debug use - docker-cpi cleanup `start-bosh` script --- ci/dockerfiles/docker-cpi/Dockerfile | 2 - ci/dockerfiles/docker-cpi/noble-updates.yml | 3 - ci/dockerfiles/docker-cpi/start-bosh.sh | 65 ++++++++++++--------- ci/dockerfiles/warden-cpi/Dockerfile | 4 +- ci/dockerfiles/warden-cpi/start-bosh.sh | 18 ++++-- 5 files changed, 54 insertions(+), 38 deletions(-) delete mode 100644 ci/dockerfiles/docker-cpi/noble-updates.yml diff --git a/ci/dockerfiles/docker-cpi/Dockerfile b/ci/dockerfiles/docker-cpi/Dockerfile index dac94c30d4..6293711f61 100644 --- a/ci/dockerfiles/docker-cpi/Dockerfile +++ b/ci/dockerfiles/docker-cpi/Dockerfile @@ -33,7 +33,5 @@ RUN curl -o /usr/local/bosh.tgz "$(bosh int /usr/local/bosh-deployment/bosh.yml && curl -o /usr/local/bpm.tgz "$(bosh int /usr/local/bosh-deployment/bosh.yml --path /releases/name=bpm/url)" COPY local-releases.yml /usr/local/local-releases.yml -COPY noble-updates.yml /usr/local/noble-updates.yml COPY start-bosh.sh /usr/local/bin/start-bosh - RUN chmod +x /usr/local/bin/start-bosh diff --git a/ci/dockerfiles/docker-cpi/noble-updates.yml b/ci/dockerfiles/docker-cpi/noble-updates.yml deleted file mode 100644 index e096d1f49b..0000000000 --- a/ci/dockerfiles/docker-cpi/noble-updates.yml +++ /dev/null @@ -1,3 +0,0 @@ -- path: /instance_groups/name=bosh/properties/docker_cpi/start_containers_with_systemd? - type: replace - value: true diff --git a/ci/dockerfiles/docker-cpi/start-bosh.sh b/ci/dockerfiles/docker-cpi/start-bosh.sh index 1b2d756e50..d09a7bb02f 100755 --- a/ci/dockerfiles/docker-cpi/start-bosh.sh +++ b/ci/dockerfiles/docker-cpi/start-bosh.sh @@ -39,9 +39,9 @@ EOF bosh int ./certs.yml --path=/client_docker_tls/private_key > ./key.pem # generate certs in json format # - ruby -e 'puts File.read("./ca.pem").split("\n").join("\\n")' > $certs_dir/ca_json_safe.pem - ruby -e 'puts File.read("./cert.pem").split("\n").join("\\n")' > $certs_dir/client_certificate_json_safe.pem - ruby -e 'puts File.read("./key.pem").split("\n").join("\\n")' > $certs_dir/client_private_key_json_safe.pem + ruby -e 'puts File.read("./ca.pem").split("\n").join("\\n")' > "${certs_dir}/ca_json_safe.pem" + ruby -e 'puts File.read("./cert.pem").split("\n").join("\\n")' > "${certs_dir}/client_certificate_json_safe.pem" + ruby -e 'puts File.read("./key.pem").split("\n").join("\\n")' > "${certs_dir}/client_private_key_json_safe.pem" popd > /dev/null } @@ -52,13 +52,14 @@ function sanitize_cgroups() { mount -o remount,rw /sys/fs/cgroup + # shellcheck disable=SC2034 sed -e 1d /proc/cgroups | while read sys hierarchy num enabled; do if [ "$enabled" != "1" ]; then # subsystem disabled; skip continue fi - grouping="$(cat /proc/self/cgroup | cut -d: -f2 | grep "\\<$sys\\>")" + grouping="$(cut -d: -f2 < /proc/self/cgroup | grep "\\<$sys\\>")" if [ -z "$grouping" ]; then # subsystem not mounted anywhere; mount it on its own grouping="$sys" @@ -133,9 +134,6 @@ EOF service docker start - export DOCKER_TLS_VERIFY=1 - export DOCKER_CERT_PATH="${certs_dir}" - rc=1 for i in $(seq 1 100); do echo "waiting for docker to come up... (${i})" @@ -171,10 +169,20 @@ function main() { exit 1 fi - export DOCKER_HOST="tcp://${OUTER_CONTAINER_IP}:4243" - local certs_dir certs_dir=$(mktemp -d) + + export DOCKER_HOST="tcp://${OUTER_CONTAINER_IP}:4243" + export DOCKER_TLS_VERIFY=1 + export DOCKER_CERT_PATH="${certs_dir}" + cat < "${local_bosh_dir}/docker-env" +export DOCKER_HOST="tcp://${OUTER_CONTAINER_IP}:4243" +export DOCKER_TLS_VERIFY=1 +export DOCKER_CERT_PATH="${certs_dir}" + +EOF + echo "Source '${local_bosh_dir}/docker-env' to run docker" >&2 + start_docker "${certs_dir}" local local_bosh_dir @@ -193,34 +201,38 @@ function main() { mkdir -p ${local_bosh_dir} - additional_ops_files="" - if [ "$(lsb_release -cs)" != "jammy" ]; then - additional_ops_files="-o /usr/local/noble-updates.yml" - fi + cat < "${local_bosh_dir}/docker_tls.json" +{ + "ca": "$(cat "${certs_dir}/ca_json_safe.pem")", + "certificate": "$(cat "${certs_dir}/client_certificate_json_safe.pem")", + "private_key": "$(cat "${certs_dir}/client_private_key_json_safe.pem")" +} + +EOF - command bosh int bosh.yml \ + bosh int bosh.yml \ -o docker/cpi.yml \ -o jumpbox-user.yml \ -o /usr/local/local-releases.yml \ - ${additional_ops_files} \ -v director_name=docker \ -v internal_cidr=10.245.0.0/16 \ -v internal_gw=10.245.0.1 \ -v internal_ip="${BOSH_DIRECTOR_IP}" \ -v docker_host="${DOCKER_HOST}" \ - -v network=director_network \ - -v docker_tls="{\"ca\": \"$(cat "${certs_dir}/ca_json_safe.pem")\",\"certificate\": \"$(cat "${certs_dir}/client_certificate_json_safe.pem")\",\"private_key\": \"$(cat "${certs_dir}/client_private_key_json_safe.pem")\"}" \ - ${@} > "${local_bosh_dir}/bosh-director.yml" - - command bosh create-env "${local_bosh_dir}/bosh-director.yml" \ - --vars-store="${local_bosh_dir}/creds.yml" \ - --state="${local_bosh_dir}/state.json" + -v network="${docker_network_name}" \ + -v docker_tls="$(cat "${local_bosh_dir}/docker_tls.json")" \ + "${@}" > "${local_bosh_dir}/bosh-director.yml" - bosh int "${local_bosh_dir}/creds.yml" --path /director_ssl/ca > "${local_bosh_dir}/ca.crt" - bosh -e "${BOSH_DIRECTOR_IP}" --ca-cert "${local_bosh_dir}/ca.crt" alias-env "${BOSH_ENVIRONMENT}" + bosh create-env "${local_bosh_dir}/bosh-director.yml" \ + --vars-store="${local_bosh_dir}/creds.yml" \ + --state="${local_bosh_dir}/state.json" + bosh int "${local_bosh_dir}/creds.yml" --path /director_ssl/ca \ + > "${local_bosh_dir}/ca.crt" bosh_client_secret="$(bosh int "${local_bosh_dir}/creds.yml" --path /admin_password)" + bosh -e "${BOSH_DIRECTOR_IP}" --ca-cert "${local_bosh_dir}/ca.crt" alias-env "${BOSH_ENVIRONMENT}" + cat < "${local_bosh_dir}/env" export BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" export BOSH_CLIENT=admin @@ -228,11 +240,12 @@ function main() { export BOSH_CA_CERT="${local_bosh_dir}/ca.crt" EOF + echo "Source '${local_bosh_dir}/env' to run bosh" >&2 source "${local_bosh_dir}/env" - bosh -n update-cloud-config docker/cloud-config.yml -v network=director_network + bosh -n update-cloud-config docker/cloud-config.yml -v network="${docker_network_name}" popd > /dev/null } -main ${@} +main "${@}" diff --git a/ci/dockerfiles/warden-cpi/Dockerfile b/ci/dockerfiles/warden-cpi/Dockerfile index e02333e637..163033403a 100644 --- a/ci/dockerfiles/warden-cpi/Dockerfile +++ b/ci/dockerfiles/warden-cpi/Dockerfile @@ -37,10 +37,10 @@ RUN \ wget -q -O /usr/local/releases/uaa.tgz "${UAA_RELEASE_URL}" && \ wget -q -O /usr/local/releases/credhub.tgz "${CREDHUB_RELEASE_URL}" -COPY local-releases.yml /usr/local/releases/local-releases.yml - +COPY local-releases.yml /usr/local/local-releases.yml COPY start-bosh.sh /usr/local/bin/start-bosh RUN chmod +x /usr/local/bin/start-bosh + COPY template-renderer.rb /tmp/template-renderer.rb COPY install-garden.rb /tmp/install-garden.rb RUN ruby /tmp/install-garden.rb /usr/local/releases/garden-runc.tgz diff --git a/ci/dockerfiles/warden-cpi/start-bosh.sh b/ci/dockerfiles/warden-cpi/start-bosh.sh index 00025ea644..bd04ec5d34 100755 --- a/ci/dockerfiles/warden-cpi/start-bosh.sh +++ b/ci/dockerfiles/warden-cpi/start-bosh.sh @@ -10,14 +10,15 @@ local_bosh_dir="/tmp/local-bosh/director" additional_ops_files="" if [ "${USE_LOCAL_RELEASES:="true"}" != "false" ]; then - additional_ops_files="-o /usr/local/releases/local-releases.yml" + additional_ops_files="-o /usr/local/local-releases.yml" fi -pushd ${BOSH_DEPLOYMENT_PATH:-/usr/local/bosh-deployment} > /dev/null +pushd "${BOSH_DEPLOYMENT_PATH:-/usr/local/bosh-deployment}" > /dev/null export BOSH_DIRECTOR_IP="192.168.56.6" mkdir -p ${local_bosh_dir} + # shellcheck disable=SC2086 bosh int bosh.yml \ -o bosh-lite.yml \ -o warden/cpi.yml \ @@ -31,22 +32,29 @@ pushd ${BOSH_DEPLOYMENT_PATH:-/usr/local/bosh-deployment} > /dev/null -v internal_cidr=192.168.56.0/24 \ -v outbound_network_name=NatNetwork \ -v garden_host=127.0.0.1 \ - ${@} > "${local_bosh_dir}/bosh-director.yml" + "${@}" > "${local_bosh_dir}/bosh-director.yml" bosh create-env "${local_bosh_dir}/bosh-director.yml" \ --vars-store="${local_bosh_dir}/creds.yml" \ --state="${local_bosh_dir}/state.json" - bosh int "${local_bosh_dir}/creds.yml" --path /director_ssl/ca > "${local_bosh_dir}/ca.crt" + bosh int "${local_bosh_dir}/creds.yml" --path /director_ssl/ca \ + > "${local_bosh_dir}/ca.crt" + bosh_client_secret="$(bosh int "${local_bosh_dir}/creds.yml" --path /admin_password)" cat < "${local_bosh_dir}/env" export BOSH_ENVIRONMENT="${BOSH_DIRECTOR_IP}" export BOSH_CLIENT=admin -export BOSH_CLIENT_SECRET=`bosh int "${local_bosh_dir}/creds.yml" --path /admin_password` +export BOSH_CLIENT_SECRET=${bosh_client_secret} export BOSH_CA_CERT="${local_bosh_dir}/ca.crt" + EOF + + echo "Source '${local_bosh_dir}/env' to run bosh" >&2 source "${local_bosh_dir}/env" bosh -n update-cloud-config warden/cloud-config.yml + ip route add 10.244.0.0/15 via ${BOSH_DIRECTOR_IP} + popd > /dev/null From de8b7c8cde23e183f69c912d723f6e48a73a18c1 Mon Sep 17 00:00:00 2001 From: aram price Date: Tue, 6 Jan 2026 17:41:18 -0800 Subject: [PATCH 07/32] CI: harmonize docker / warden image assets --- ci/dockerfiles/docker-cpi/Dockerfile | 5 ++-- .../docker-cpi/latest-bosh-release.yml | 12 ++++----- ci/dockerfiles/docker-cpi/local-releases.yml | 4 +-- ci/dockerfiles/docker-cpi/start-bosh.sh | 9 +++---- .../docker-cpi/start-inner-bosh-parallel.sh | 26 +++++++------------ ci/dockerfiles/docker-cpi/start-inner-bosh.sh | 12 +++++---- ci/dockerfiles/warden-cpi/Dockerfile | 8 +++--- .../warden-cpi/create-and-upload-release.sh | 2 +- .../warden-cpi/destroy-inner-bosh.sh | 2 +- .../warden-cpi/start-inner-bosh-parallel.sh | 19 +++++++------- 10 files changed, 47 insertions(+), 52 deletions(-) diff --git a/ci/dockerfiles/docker-cpi/Dockerfile b/ci/dockerfiles/docker-cpi/Dockerfile index 6293711f61..fcf8b303c8 100644 --- a/ci/dockerfiles/docker-cpi/Dockerfile +++ b/ci/dockerfiles/docker-cpi/Dockerfile @@ -29,8 +29,9 @@ RUN docker_gpg="/etc/apt/trusted.gpg.d/docker.gpg" \ RUN sed -i 's/\(ulimit -Hn [0-9]*\)/#\1/' /etc/init.d/docker COPY bosh-deployment /usr/local/bosh-deployment/ -RUN curl -o /usr/local/bosh.tgz "$(bosh int /usr/local/bosh-deployment/bosh.yml --path /releases/name=bosh/url)" \ - && curl -o /usr/local/bpm.tgz "$(bosh int /usr/local/bosh-deployment/bosh.yml --path /releases/name=bpm/url)" +RUN mkdir -p /usr/local/releases \ + && curl -o /usr/local/releases/bosh.tgz "$(bosh int /usr/local/bosh-deployment/bosh.yml --path /releases/name=bosh/url)" \ + && curl -o /usr/local/releases/bpm.tgz "$(bosh int /usr/local/bosh-deployment/bosh.yml --path /releases/name=bpm/url)" COPY local-releases.yml /usr/local/local-releases.yml COPY start-bosh.sh /usr/local/bin/start-bosh diff --git a/ci/dockerfiles/docker-cpi/latest-bosh-release.yml b/ci/dockerfiles/docker-cpi/latest-bosh-release.yml index 2cc7a98f4c..1d11eb783e 100644 --- a/ci/dockerfiles/docker-cpi/latest-bosh-release.yml +++ b/ci/dockerfiles/docker-cpi/latest-bosh-release.yml @@ -20,21 +20,21 @@ path: /releases/name=bpm/sha1 - type: replace - path: /releases/name=bosh-docker-cpi/version + path: /releases/name=os-conf/version value: latest - type: remove - path: /releases/name=bosh-docker-cpi/url + path: /releases/name=os-conf/url - type: remove - path: /releases/name=bosh-docker-cpi/sha1 + path: /releases/name=os-conf/sha1 - type: replace - path: /releases/name=os-conf/version + path: /releases/name=bosh-docker-cpi/version value: latest - type: remove - path: /releases/name=os-conf/url + path: /releases/name=bosh-docker-cpi/url - type: remove - path: /releases/name=os-conf/sha1 + path: /releases/name=bosh-docker-cpi/sha1 diff --git a/ci/dockerfiles/docker-cpi/local-releases.yml b/ci/dockerfiles/docker-cpi/local-releases.yml index fe81962ea7..7f24ea4537 100644 --- a/ci/dockerfiles/docker-cpi/local-releases.yml +++ b/ci/dockerfiles/docker-cpi/local-releases.yml @@ -1,8 +1,8 @@ --- - type: replace path: /releases/name=bosh/url - value: file:///usr/local/bosh.tgz + value: file:///usr/local/releases/bosh.tgz - type: replace path: /releases/name=bpm/url - value: file:///usr/local/bpm.tgz + value: file:///usr/local/releases/bpm.tgz diff --git a/ci/dockerfiles/docker-cpi/start-bosh.sh b/ci/dockerfiles/docker-cpi/start-bosh.sh index d09a7bb02f..d56968dc10 100755 --- a/ci/dockerfiles/docker-cpi/start-bosh.sh +++ b/ci/dockerfiles/docker-cpi/start-bosh.sh @@ -172,6 +172,10 @@ function main() { local certs_dir certs_dir=$(mktemp -d) + local local_bosh_dir + local_bosh_dir="/tmp/local-bosh/director" + mkdir -p ${local_bosh_dir} + export DOCKER_HOST="tcp://${OUTER_CONTAINER_IP}:4243" export DOCKER_TLS_VERIFY=1 export DOCKER_CERT_PATH="${certs_dir}" @@ -185,9 +189,6 @@ EOF start_docker "${certs_dir}" - local local_bosh_dir - local_bosh_dir="/tmp/local-bosh/director" - local docker_network_name="director_network" if docker network ls | grep -q "${docker_network_name}"; then echo "A docker network named '${docker_network_name}' already exists, skipping creation" >&2 @@ -199,8 +200,6 @@ EOF export BOSH_DIRECTOR_IP="10.245.0.3" export BOSH_ENVIRONMENT="docker-director" - mkdir -p ${local_bosh_dir} - cat < "${local_bosh_dir}/docker_tls.json" { "ca": "$(cat "${certs_dir}/ca_json_safe.pem")", diff --git a/ci/dockerfiles/docker-cpi/start-inner-bosh-parallel.sh b/ci/dockerfiles/docker-cpi/start-inner-bosh-parallel.sh index 483b18a2e0..31b4812338 100755 --- a/ci/dockerfiles/docker-cpi/start-inner-bosh-parallel.sh +++ b/ci/dockerfiles/docker-cpi/start-inner-bosh-parallel.sh @@ -4,19 +4,13 @@ set -euo pipefail set -x script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -src_dir="${script_dir}/../../../" node_number=${1} -pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null - inner_bosh_dir="/tmp/inner-bosh/director/$node_number" - mkdir -p ${inner_bosh_dir} +pushd "${BOSH_DEPLOYMENT_PATH}" > /dev/null + inner_bosh_dir="/tmp/inner-bosh/director/${node_number}" + mkdir -p "${inner_bosh_dir}" - export BOSH_DIRECTOR_IP="10.245.0.$((10+$node_number))" - - additional_ops_files="" - if [ "$(lsb_release -cs)" != "jammy" ]; then - additional_ops_files="-o /usr/local/noble-updates.yml" - fi + export BOSH_DIRECTOR_IP="10.245.0.$((10 + node_number))" bosh int bosh.yml \ -o "$script_dir/inner-bosh-ops.yml" \ @@ -31,16 +25,16 @@ pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null -o "${BOSH_DEPLOYMENT_PATH}/misc/source-releases/bosh.yml" \ -o "$script_dir/latest-bosh-release.yml" \ -o "$script_dir/deployment-name.yml" \ - ${additional_ops_files} \ - -v deployment_name="bosh-$node_number" \ - ${@:2} > "${inner_bosh_dir}/bosh-director.yml" + -v deployment_name="bosh-${node_number}" \ + "${@:2}" > "${inner_bosh_dir}/bosh-director.yml" - bosh -n deploy -d "bosh-$node_number" "${inner_bosh_dir}/bosh-director.yml" --vars-store="${inner_bosh_dir}/creds.yml" + bosh -n deploy -d "bosh-${node_number}" "${inner_bosh_dir}/bosh-director.yml" --vars-store="${inner_bosh_dir}/creds.yml" # set up inner director export BOSH_ENVIRONMENT="docker-inner-director-${node_number}" export BOSH_CONFIG="${inner_bosh_dir}/config" - export BOSH_CLIENT_SECRET=$(bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password) + BOSH_CLIENT_SECRET=$(bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password) + export BOSH_CLIENT_SECRET bosh int "${inner_bosh_dir}/creds.yml" --path /director_ssl/ca > "${inner_bosh_dir}/ca.crt" bosh -e "${BOSH_DIRECTOR_IP}" --ca-cert "${inner_bosh_dir}/ca.crt" alias-env "${BOSH_ENVIRONMENT}" @@ -64,7 +58,7 @@ EOF "${inner_bosh_dir}/bosh" -n update-cloud-config \ "$script_dir/inner-bosh-cloud-config.yml" \ - -v node_number="$((${node_number} * 4))" \ + -v node_number="$((node_number * 4))" \ -v network=director_network popd > /dev/null diff --git a/ci/dockerfiles/docker-cpi/start-inner-bosh.sh b/ci/dockerfiles/docker-cpi/start-inner-bosh.sh index cac2331270..7da0226fab 100755 --- a/ci/dockerfiles/docker-cpi/start-inner-bosh.sh +++ b/ci/dockerfiles/docker-cpi/start-inner-bosh.sh @@ -8,7 +8,7 @@ bosh_release_path="" src_dir="${script_dir}/../../../" -default_stemcell_path="${src_dir}/../stemcell/*.tgz" +default_stemcell_path="$(ls "${src_dir}/../stemcell/*.tgz")" stemcell="${CANDIDATE_STEMCELL_TARBALL_PATH:-$default_stemcell_path}" pushd "${bosh_path}" > /dev/null @@ -21,7 +21,7 @@ popd > /dev/null export bosh_release_path -pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null +pushd "${BOSH_DEPLOYMENT_PATH}" > /dev/null inner_bosh_dir="/tmp/inner-bosh/director" export BOSH_DIRECTOR_IP="10.245.0.34" @@ -44,9 +44,9 @@ pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null -o "${BOSH_DEPLOYMENT_PATH}/misc/source-releases/bosh.yml" \ -o "${BOSH_DEPLOYMENT_PATH}/local-bosh-release-tarball.yml" \ -v local_bosh_release="${bosh_release_path}" \ - ${@} > "${inner_bosh_dir}/bosh-director.yml" + "${@}" > "${inner_bosh_dir}/bosh-director.yml" - bosh upload-stemcell ${stemcell} + bosh upload-stemcell "${stemcell}" deployment_name="--deployment=bosh" if [[ "${1}" = "--deployment="* ]]; then @@ -64,12 +64,14 @@ pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null bosh int "${inner_bosh_dir}/creds.yml" --path /jumpbox_ssh/private_key > "${inner_bosh_dir}/jumpbox_private_key.pem" chmod 600 "${inner_bosh_dir}/jumpbox_private_key.pem" + bosh_client_secret="$(bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password)" + cat < "${inner_bosh_dir}/bosh" #!/bin/bash export BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" export BOSH_CLIENT=admin -export BOSH_CLIENT_SECRET=`bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password` +export BOSH_CLIENT_SECRET=${bosh_client_secret} export BOSH_CA_CERT="${inner_bosh_dir}/ca.crt" $(which bosh) "\$@" diff --git a/ci/dockerfiles/warden-cpi/Dockerfile b/ci/dockerfiles/warden-cpi/Dockerfile index 163033403a..aa2f7c577e 100644 --- a/ci/dockerfiles/warden-cpi/Dockerfile +++ b/ci/dockerfiles/warden-cpi/Dockerfile @@ -41,12 +41,10 @@ COPY local-releases.yml /usr/local/local-releases.yml COPY start-bosh.sh /usr/local/bin/start-bosh RUN chmod +x /usr/local/bin/start-bosh -COPY template-renderer.rb /tmp/template-renderer.rb -COPY install-garden.rb /tmp/install-garden.rb -RUN ruby /tmp/install-garden.rb /usr/local/releases/garden-runc.tgz - RUN mkdir -p /var/vcap/sys/log/warden_cpi/ - RUN useradd -ms /bin/bash vcap +COPY template-renderer.rb /tmp/template-renderer.rb +COPY install-garden.rb /tmp/install-garden.rb +RUN ruby /tmp/install-garden.rb /usr/local/releases/garden-runc.tgz RUN rm -rf /tmp/* diff --git a/ci/dockerfiles/warden-cpi/create-and-upload-release.sh b/ci/dockerfiles/warden-cpi/create-and-upload-release.sh index 723ae0bfdc..ee5c90f56b 100755 --- a/ci/dockerfiles/warden-cpi/create-and-upload-release.sh +++ b/ci/dockerfiles/warden-cpi/create-and-upload-release.sh @@ -35,7 +35,7 @@ pushd "${BOSH_DEPLOYMENT_PATH}" > /dev/null mkdir -p "${inner_bosh_dir}" - export BOSH_DIRECTOR_IP="10.245.0.$((10+$node_number))" + export BOSH_DIRECTOR_IP="10.245.0.$((10 + node_number))" bosh upload-release "$(bosh int bosh.yml -o misc/source-releases/bosh.yml --path /releases/name=bpm/url)" \ --sha1 "$(bosh int bosh.yml -o misc/source-releases/bosh.yml --path /releases/name=bpm/sha1)" diff --git a/ci/dockerfiles/warden-cpi/destroy-inner-bosh.sh b/ci/dockerfiles/warden-cpi/destroy-inner-bosh.sh index 4fb55130e8..91c8dac870 100755 --- a/ci/dockerfiles/warden-cpi/destroy-inner-bosh.sh +++ b/ci/dockerfiles/warden-cpi/destroy-inner-bosh.sh @@ -2,7 +2,7 @@ set -e -pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null +pushd "${BOSH_DEPLOYMENT_PATH}" > /dev/null node_number=$1 inner_bosh_dir="/tmp/inner-bosh/director" deployment_name="bosh" diff --git a/ci/dockerfiles/warden-cpi/start-inner-bosh-parallel.sh b/ci/dockerfiles/warden-cpi/start-inner-bosh-parallel.sh index bead6fc62a..af5a13102e 100755 --- a/ci/dockerfiles/warden-cpi/start-inner-bosh-parallel.sh +++ b/ci/dockerfiles/warden-cpi/start-inner-bosh-parallel.sh @@ -3,14 +3,13 @@ set -eu script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -src_dir="${script_dir}/../../../" node_number=${1} -pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null - inner_bosh_dir="/tmp/inner-bosh/director/$node_number" - mkdir -p ${inner_bosh_dir} +pushd "${BOSH_DEPLOYMENT_PATH}" > /dev/null + inner_bosh_dir="/tmp/inner-bosh/director/${node_number}" + mkdir -p "${inner_bosh_dir}" - export BOSH_DIRECTOR_IP="10.245.0.$((10+$node_number))" + export BOSH_DIRECTOR_IP="10.245.0.$((10 + node_number))" bosh int bosh.yml \ -o bosh-lite.yml \ @@ -23,10 +22,10 @@ pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null -o "${BOSH_DEPLOYMENT_PATH}/misc/source-releases/bosh.yml" \ -o "$script_dir/latest-bosh-release.yml" \ -o "$script_dir/deployment-name.yml" \ - -v deployment_name="bosh-$node_number" \ - ${@:2} > "${inner_bosh_dir}/bosh-director.yml" + -v deployment_name="bosh-${node_number}" \ + "${@:2}" > "${inner_bosh_dir}/bosh-director.yml" - bosh -n deploy -d "bosh-$node_number" "${inner_bosh_dir}/bosh-director.yml" --vars-store="${inner_bosh_dir}/creds.yml" + bosh -n deploy -d "bosh-${node_number}" "${inner_bosh_dir}/bosh-director.yml" --vars-store="${inner_bosh_dir}/creds.yml" # set up inner director export BOSH_ENVIRONMENT="warden-inner-director-${node_number}" @@ -38,13 +37,15 @@ pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null bosh int "${inner_bosh_dir}/creds.yml" --path /jumpbox_ssh/private_key > "${inner_bosh_dir}/jumpbox_private_key.pem" chmod 600 "${inner_bosh_dir}/jumpbox_private_key.pem" + bosh_client_secret="$(bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password)" + cat < "${inner_bosh_dir}/bosh" #!/bin/bash export BOSH_CONFIG="${BOSH_CONFIG}" export BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" export BOSH_CLIENT=admin -export BOSH_CLIENT_SECRET=`bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password` +export BOSH_CLIENT_SECRET=${bosh_client_secret} export BOSH_CA_CERT="${inner_bosh_dir}/ca.crt" $(which bosh) "\$@" From c4b9f9c34047e219c39c3750426725984eb2bfd8 Mon Sep 17 00:00:00 2001 From: aram price Date: Wed, 7 Jan 2026 11:35:08 -0800 Subject: [PATCH 08/32] CI: zookeeper deployment uses Noble --- ci/tasks/deploy-zookeeper/zookeeper-manifest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/tasks/deploy-zookeeper/zookeeper-manifest.yml b/ci/tasks/deploy-zookeeper/zookeeper-manifest.yml index 8abb074977..d46b59b65f 100644 --- a/ci/tasks/deploy-zookeeper/zookeeper-manifest.yml +++ b/ci/tasks/deploy-zookeeper/zookeeper-manifest.yml @@ -8,7 +8,7 @@ releases: stemcells: - alias: default - os: ubuntu-jammy + os: ubuntu-noble version: latest update: From fd21c69e3b28b2d0aba1ef779abad6358a2eba12 Mon Sep 17 00:00:00 2001 From: aram price Date: Wed, 7 Jan 2026 11:39:38 -0800 Subject: [PATCH 09/32] CI: fips test uses uncompiled release This is required because the FIPS stemcell is currently Jammy and the compiled release is for Noble. --- ci/bats/tasks/deploy-director.sh | 7 ++++++- ci/pipeline.yml | 7 ++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ci/bats/tasks/deploy-director.sh b/ci/bats/tasks/deploy-director.sh index 2f337d4f97..2c14b702c5 100755 --- a/ci/bats/tasks/deploy-director.sh +++ b/ci/bats/tasks/deploy-director.sh @@ -50,4 +50,9 @@ bosh-cli create-env \ --vars-store director-creds.yml \ director.yml -cat bosh-release/version +version_file="bosh-release/version" +if [ -f "${version_file}" ]; then + cat "${version_file}" +else + echo "Version file '${version_file}' was not present" +fi diff --git a/ci/pipeline.yml b/ci/pipeline.yml index 98ceb5aa10..19a38a9bd4 100644 --- a/ci/pipeline.yml +++ b/ci/pipeline.yml @@ -510,12 +510,13 @@ jobs: - in_parallel: - get: bosh-ci - get: integration-image - - get: bosh-candidate-release-tarballs - passed: [ create-bosh-candidate-release-compiled ] + # NOTE: because FIPS is still Jammy based the non-compiled release is used - get: bosh-release - resource: bosh-candidate-release-compiled + resource: bosh-candidate-release-tarballs trigger: true passed: [ create-bosh-candidate-release-compiled ] + - get: bosh-candidate-release-compiled + passed: [ create-bosh-candidate-release-compiled ] - get: stemcell resource: gcp-stemcell-fips - get: bosh-cli From f5a8e6b5e21bd870611d09460bbcf6e96dddf734 Mon Sep 17 00:00:00 2001 From: aram price Date: Wed, 7 Jan 2026 14:36:24 -0800 Subject: [PATCH 10/32] CI: brats performace tests use Noble --- ci/shared/brats/test-performance.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/shared/brats/test-performance.sh b/ci/shared/brats/test-performance.sh index 244b008d35..67bec69694 100755 --- a/ci/shared/brats/test-performance.sh +++ b/ci/shared/brats/test-performance.sh @@ -22,7 +22,7 @@ export BOSH_DIRECTOR_RELEASE_PATH="${bosh_ci_parent_dir}/bosh" export CF_DEPLOYMENT_RELEASE_PATH="${bosh_ci_parent_dir}/cf-deployment" CANDIDATE_STEMCELL_TARBALL_PATH="$(find "${bosh_ci_parent_dir}/stemcell" -maxdepth 1 -path '*.tgz')" export CANDIDATE_STEMCELL_TARBALL_PATH -export STEMCELL_OS=ubuntu-jammy +export STEMCELL_OS=ubuntu-noble DOCKER_CERTS="$(bosh int /tmp/local-bosh/director/bosh-director.yml --path /instance_groups/0/properties/docker_cpi/docker/tls)" export DOCKER_CERTS From e93feda145a961bee1369ed9d7de03f30f6af0e6 Mon Sep 17 00:00:00 2001 From: aram price Date: Wed, 7 Jan 2026 16:50:29 -0800 Subject: [PATCH 11/32] CI: update warden-cpi start script to force systemd Based on this commit[1] we are mutating the in-container garden.ini setting to make Warden use systemd instead of the garden-provide init binary. [1] https://github.com/cloudfoundry/bosh-warden-cpi-release/commit/434738fed168b71cc0c3ba8c038773cc1074189e#diff-f3d9c00d365d08274b8e73e1dc4fc4b2d38a92a654d4d2b27f4ffdc01730576bR1-R8 --- ci/dockerfiles/warden-cpi/start-bosh.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ci/dockerfiles/warden-cpi/start-bosh.sh b/ci/dockerfiles/warden-cpi/start-bosh.sh index bd04ec5d34..1c98483392 100755 --- a/ci/dockerfiles/warden-cpi/start-bosh.sh +++ b/ci/dockerfiles/warden-cpi/start-bosh.sh @@ -4,6 +4,10 @@ set -e local_bosh_dir="/tmp/local-bosh/director" +# Update the on-container garden ini so that systemd is used as the INIT binary +# See: https://github.com/cloudfoundry/bosh-warden-cpi-release/commit/434738fed168b71cc0c3ba8c038773cc1074189e#diff-f3d9c00d365d08274b8e73e1dc4fc4b2d38a92a654d4d2b27f4ffdc01730576bR1-R8 +sed -i 's/\/var\/vcap\/data\/garden\/bin\/init/\/sbin\/init/' /var/vcap/jobs/garden/config/config.ini + /var/vcap/jobs/garden/bin/pre-start /var/vcap/jobs/garden/bin/garden_ctl start & /var/vcap/jobs/garden/bin/post-start From 308455b99cab67ced202475e57c0240db4b82a16 Mon Sep 17 00:00:00 2001 From: aram price Date: Thu, 8 Jan 2026 17:22:41 -0800 Subject: [PATCH 12/32] CI: start-bosh scripts have DEBUG flag Set the env var DEBUG to any non-empty value and both bash and bosh debug logging will be enabled. --- ci/dockerfiles/docker-cpi/start-bosh.sh | 4 ++++ ci/dockerfiles/warden-cpi/start-bosh.sh | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/ci/dockerfiles/docker-cpi/start-bosh.sh b/ci/dockerfiles/docker-cpi/start-bosh.sh index d56968dc10..41de6f912a 100755 --- a/ci/dockerfiles/docker-cpi/start-bosh.sh +++ b/ci/dockerfiles/docker-cpi/start-bosh.sh @@ -1,6 +1,10 @@ #!/usr/bin/env bash set -e +if [[ -n "${DEBUG:-}" ]]; then + set -x + export BOSH_LOG_LEVEL=debug +fi function generate_certs() { local certs_dir diff --git a/ci/dockerfiles/warden-cpi/start-bosh.sh b/ci/dockerfiles/warden-cpi/start-bosh.sh index 1c98483392..9c7634fea4 100755 --- a/ci/dockerfiles/warden-cpi/start-bosh.sh +++ b/ci/dockerfiles/warden-cpi/start-bosh.sh @@ -1,6 +1,10 @@ #!/usr/bin/env bash set -e +if [[ -n "${DEBUG:-}" ]]; then + set -x + export BOSH_LOG_LEVEL=debug +fi local_bosh_dir="/tmp/local-bosh/director" From 4aad35731170bbf1efcb1c61cce67bdc74e1d317 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 10 Jan 2026 10:00:42 +0000 Subject: [PATCH 13/32] Update vendored dependencies --- src/brats/go.mod | 10 ++--- src/brats/go.sum | 20 +++++----- .../github.com/onsi/ginkgo/v2/CHANGELOG.md | 5 +++ .../onsi/ginkgo/v2/internal/suite.go | 5 ++- .../onsi/ginkgo/v2/types/version.go | 2 +- .../github.com/onsi/gomega/CHANGELOG.md | 6 +++ .../github.com/onsi/gomega/gomega_dsl.go | 2 +- .../vendor/github.com/onsi/gomega/matchers.go | 18 +++++++++ .../matchers/match_error_strictly_matcher.go | 39 +++++++++++++++++++ src/brats/vendor/modules.txt | 10 ++--- 10 files changed, 94 insertions(+), 23 deletions(-) create mode 100644 src/brats/vendor/github.com/onsi/gomega/matchers/match_error_strictly_matcher.go diff --git a/src/brats/go.mod b/src/brats/go.mod index 7e5fd6dffe..f1e4fdb6d2 100644 --- a/src/brats/go.mod +++ b/src/brats/go.mod @@ -4,8 +4,8 @@ go 1.24.0 require ( github.com/creack/pty v1.1.15 - github.com/onsi/ginkgo/v2 v2.27.3 - github.com/onsi/gomega v1.38.3 + github.com/onsi/ginkgo/v2 v2.27.4 + github.com/onsi/gomega v1.39.0 ) require ( @@ -15,10 +15,10 @@ require ( github.com/google/go-cmp v0.7.0 // indirect github.com/google/pprof v0.0.0-20251114195745-4902fdda35c8 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/mod v0.31.0 // indirect + golang.org/x/mod v0.32.0 // indirect golang.org/x/net v0.48.0 // indirect golang.org/x/sync v0.19.0 // indirect - golang.org/x/sys v0.39.0 // indirect - golang.org/x/text v0.32.0 // indirect + golang.org/x/sys v0.40.0 // indirect + golang.org/x/text v0.33.0 // indirect golang.org/x/tools v0.40.0 // indirect ) diff --git a/src/brats/go.sum b/src/brats/go.sum index ce6416195e..9f1423377a 100644 --- a/src/brats/go.sum +++ b/src/brats/go.sum @@ -30,10 +30,10 @@ github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo= github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg= github.com/mfridman/tparse v0.18.0 h1:wh6dzOKaIwkUGyKgOntDW4liXSo37qg5AXbIhkMV3vE= github.com/mfridman/tparse v0.18.0/go.mod h1:gEvqZTuCgEhPbYk/2lS3Kcxg1GmTxxU7kTC8DvP0i/A= -github.com/onsi/ginkgo/v2 v2.27.3 h1:ICsZJ8JoYafeXFFlFAG75a7CxMsJHwgKwtO+82SE9L8= -github.com/onsi/ginkgo/v2 v2.27.3/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= -github.com/onsi/gomega v1.38.3 h1:eTX+W6dobAYfFeGC2PV6RwXRu/MyT+cQguijutvkpSM= -github.com/onsi/gomega v1.38.3/go.mod h1:ZCU1pkQcXDO5Sl9/VVEGlDyp+zm0m1cmeG5TOzLgdh4= +github.com/onsi/ginkgo/v2 v2.27.4 h1:fcEcQW/A++6aZAZQNUmNjvA9PSOzefMJBerHJ4t8v8Y= +github.com/onsi/ginkgo/v2 v2.27.4/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= +github.com/onsi/gomega v1.39.0 h1:y2ROC3hKFmQZJNFeGAMeHZKkjBL65mIZcvrLQBF9k6Q= +github.com/onsi/gomega v1.39.0/go.mod h1:ZCU1pkQcXDO5Sl9/VVEGlDyp+zm0m1cmeG5TOzLgdh4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= @@ -50,16 +50,16 @@ github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= -golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= +golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= +golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= -golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= -golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A= diff --git a/src/brats/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md b/src/brats/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md index 9d1bb914b6..69be62380d 100644 --- a/src/brats/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md +++ b/src/brats/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md @@ -1,3 +1,8 @@ +## 2.27.4 + +### Fixes +- CurrentTreeConstructionNodeReport: fix for nested container nodes [59bc751] + ## 2.27.3 ### Fixes diff --git a/src/brats/vendor/github.com/onsi/ginkgo/v2/internal/suite.go b/src/brats/vendor/github.com/onsi/ginkgo/v2/internal/suite.go index ef76cd099e..9d5f590011 100644 --- a/src/brats/vendor/github.com/onsi/ginkgo/v2/internal/suite.go +++ b/src/brats/vendor/github.com/onsi/ginkgo/v2/internal/suite.go @@ -208,9 +208,12 @@ func (suite *Suite) PushNode(node Node) error { // Ensure that code running in the body of the container node // has access to information about the current container node(s). + // The current one (nil in top-level container nodes, non-nil in an + // embedded container node) gets restored when the node is done. + oldConstructionNodeReport := suite.currentConstructionNodeReport suite.currentConstructionNodeReport = constructionNodeReportForTreeNode(suite.tree) defer func() { - suite.currentConstructionNodeReport = nil + suite.currentConstructionNodeReport = oldConstructionNodeReport }() node.Body(nil) diff --git a/src/brats/vendor/github.com/onsi/ginkgo/v2/types/version.go b/src/brats/vendor/github.com/onsi/ginkgo/v2/types/version.go index 2a50192871..66cbbcf3c3 100644 --- a/src/brats/vendor/github.com/onsi/ginkgo/v2/types/version.go +++ b/src/brats/vendor/github.com/onsi/ginkgo/v2/types/version.go @@ -1,3 +1,3 @@ package types -const VERSION = "2.27.3" +const VERSION = "2.27.4" diff --git a/src/brats/vendor/github.com/onsi/gomega/CHANGELOG.md b/src/brats/vendor/github.com/onsi/gomega/CHANGELOG.md index 64b33e8b7c..cf020605c6 100644 --- a/src/brats/vendor/github.com/onsi/gomega/CHANGELOG.md +++ b/src/brats/vendor/github.com/onsi/gomega/CHANGELOG.md @@ -1,3 +1,9 @@ +## 1.39.0 + +### Features + +Add `MatchErrorStrictly` which only passes if `errors.Is(actual, expected)` returns true. `MatchError`, by contrast, will fallback to string comparison. + ## 1.38.3 ### Fixes diff --git a/src/brats/vendor/github.com/onsi/gomega/gomega_dsl.go b/src/brats/vendor/github.com/onsi/gomega/gomega_dsl.go index 55c0e895e2..cd6ce450fb 100644 --- a/src/brats/vendor/github.com/onsi/gomega/gomega_dsl.go +++ b/src/brats/vendor/github.com/onsi/gomega/gomega_dsl.go @@ -22,7 +22,7 @@ import ( "github.com/onsi/gomega/types" ) -const GOMEGA_VERSION = "1.38.3" +const GOMEGA_VERSION = "1.39.0" const nilGomegaPanic = `You are trying to make an assertion, but haven't registered Gomega's fail handler. If you're using Ginkgo then you probably forgot to put your assertion in an It(). diff --git a/src/brats/vendor/github.com/onsi/gomega/matchers.go b/src/brats/vendor/github.com/onsi/gomega/matchers.go index 40ba15c5e7..16ca8f46dc 100644 --- a/src/brats/vendor/github.com/onsi/gomega/matchers.go +++ b/src/brats/vendor/github.com/onsi/gomega/matchers.go @@ -146,6 +146,24 @@ func MatchError(expected any, functionErrorDescription ...any) types.GomegaMatch } } +// MatchErrorStrictly succeeds iff actual is a non-nil error that matches the passed in +// expected error according to errors.Is(actual, expected). +// +// This behavior differs from MatchError where +// +// Expect(errors.New("some error")).To(MatchError(errors.New("some error"))) +// +// succeeds, but errors.Is would return false so: +// +// Expect(errors.New("some error")).To(MatchErrorStrictly(errors.New("some error"))) +// +// fails. +func MatchErrorStrictly(expected error) types.GomegaMatcher { + return &matchers.MatchErrorStrictlyMatcher{ + Expected: expected, + } +} + // BeClosed succeeds if actual is a closed channel. // It is an error to pass a non-channel to BeClosed, it is also an error to pass nil // diff --git a/src/brats/vendor/github.com/onsi/gomega/matchers/match_error_strictly_matcher.go b/src/brats/vendor/github.com/onsi/gomega/matchers/match_error_strictly_matcher.go new file mode 100644 index 0000000000..63969b2663 --- /dev/null +++ b/src/brats/vendor/github.com/onsi/gomega/matchers/match_error_strictly_matcher.go @@ -0,0 +1,39 @@ +package matchers + +import ( + "errors" + "fmt" + + "github.com/onsi/gomega/format" +) + +type MatchErrorStrictlyMatcher struct { + Expected error +} + +func (matcher *MatchErrorStrictlyMatcher) Match(actual any) (success bool, err error) { + + if isNil(matcher.Expected) { + return false, fmt.Errorf("Expected error is nil, use \"ToNot(HaveOccurred())\" to explicitly check for nil errors") + } + + if isNil(actual) { + return false, fmt.Errorf("Expected an error, got nil") + } + + if !isError(actual) { + return false, fmt.Errorf("Expected an error. Got:\n%s", format.Object(actual, 1)) + } + + actualErr := actual.(error) + + return errors.Is(actualErr, matcher.Expected), nil +} + +func (matcher *MatchErrorStrictlyMatcher) FailureMessage(actual any) (message string) { + return format.Message(actual, "to match error", matcher.Expected) +} + +func (matcher *MatchErrorStrictlyMatcher) NegatedFailureMessage(actual any) (message string) { + return format.Message(actual, "not to match error", matcher.Expected) +} diff --git a/src/brats/vendor/modules.txt b/src/brats/vendor/modules.txt index 6e682f8212..b2c70c1c1b 100644 --- a/src/brats/vendor/modules.txt +++ b/src/brats/vendor/modules.txt @@ -21,7 +21,7 @@ github.com/google/go-cmp/cmp/internal/value # github.com/google/pprof v0.0.0-20251114195745-4902fdda35c8 ## explicit; go 1.24.0 github.com/google/pprof/profile -# github.com/onsi/ginkgo/v2 v2.27.3 +# github.com/onsi/ginkgo/v2 v2.27.4 ## explicit; go 1.23.0 github.com/onsi/ginkgo/v2 github.com/onsi/ginkgo/v2/config @@ -45,7 +45,7 @@ github.com/onsi/ginkgo/v2/internal/reporters github.com/onsi/ginkgo/v2/internal/testingtproxy github.com/onsi/ginkgo/v2/reporters github.com/onsi/ginkgo/v2/types -# github.com/onsi/gomega v1.38.3 +# github.com/onsi/gomega v1.39.0 ## explicit; go 1.23.0 github.com/onsi/gomega github.com/onsi/gomega/format @@ -65,7 +65,7 @@ github.com/onsi/gomega/types # go.yaml.in/yaml/v3 v3.0.4 ## explicit; go 1.16 go.yaml.in/yaml/v3 -# golang.org/x/mod v0.31.0 +# golang.org/x/mod v0.32.0 ## explicit; go 1.24.0 golang.org/x/mod/semver # golang.org/x/net v0.48.0 @@ -76,10 +76,10 @@ golang.org/x/net/html/charset # golang.org/x/sync v0.19.0 ## explicit; go 1.24.0 golang.org/x/sync/errgroup -# golang.org/x/sys v0.39.0 +# golang.org/x/sys v0.40.0 ## explicit; go 1.24.0 golang.org/x/sys/unix -# golang.org/x/text v0.32.0 +# golang.org/x/text v0.33.0 ## explicit; go 1.24.0 golang.org/x/text/encoding golang.org/x/text/encoding/charmap From bb3bc9f8b5e3fa86428f0c2423b900f37cb53ad4 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 10 Jan 2026 10:01:45 +0000 Subject: [PATCH 14/32] Bump gems --- src/Gemfile.lock | 18 +++++++++--------- src/vendor/cache/activesupport-8.1.1.gem | 3 --- src/vendor/cache/activesupport-8.1.2.gem | 3 +++ src/vendor/cache/async-http-0.92.1.gem | 3 --- src/vendor/cache/async-http-0.93.0.gem | 3 +++ src/vendor/cache/protocol-http-0.56.1.gem | 3 --- src/vendor/cache/protocol-http-0.58.0.gem | 3 +++ src/vendor/cache/protocol-http1-0.35.2.gem | 3 --- src/vendor/cache/protocol-http1-0.36.0.gem | 3 +++ src/vendor/cache/thor-1.4.0.gem | 3 --- src/vendor/cache/thor-1.5.0.gem | 3 +++ src/vendor/cache/tilt-2.6.1.gem | 3 --- src/vendor/cache/tilt-2.7.0.gem | 3 +++ 13 files changed, 27 insertions(+), 27 deletions(-) delete mode 100644 src/vendor/cache/activesupport-8.1.1.gem create mode 100644 src/vendor/cache/activesupport-8.1.2.gem delete mode 100644 src/vendor/cache/async-http-0.92.1.gem create mode 100644 src/vendor/cache/async-http-0.93.0.gem delete mode 100644 src/vendor/cache/protocol-http-0.56.1.gem create mode 100644 src/vendor/cache/protocol-http-0.58.0.gem delete mode 100644 src/vendor/cache/protocol-http1-0.35.2.gem create mode 100644 src/vendor/cache/protocol-http1-0.36.0.gem delete mode 100644 src/vendor/cache/thor-1.4.0.gem create mode 100644 src/vendor/cache/thor-1.5.0.gem delete mode 100644 src/vendor/cache/tilt-2.6.1.gem create mode 100644 src/vendor/cache/tilt-2.7.0.gem diff --git a/src/Gemfile.lock b/src/Gemfile.lock index 4eb4dc1ef1..e7d1885839 100644 --- a/src/Gemfile.lock +++ b/src/Gemfile.lock @@ -69,7 +69,7 @@ PATH GEM remote: https://rubygems.org/ specs: - activesupport (8.1.1) + activesupport (8.1.2) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) @@ -91,14 +91,14 @@ GEM io-event (~> 1.11) metrics (~> 0.12) traces (~> 0.18) - async-http (0.92.1) + async-http (0.93.0) async (>= 2.10.2) async-pool (~> 0.11) io-endpoint (~> 0.14) io-stream (~> 0.6) metrics (~> 0.12) - protocol-http (~> 0.49) - protocol-http1 (~> 0.30) + protocol-http (~> 0.58) + protocol-http1 (~> 0.36) protocol-http2 (~> 0.22) protocol-url (~> 0.2) traces (~> 0.10) @@ -220,9 +220,9 @@ GEM prometheus-client (4.2.5) base64 protocol-hpack (1.5.1) - protocol-http (0.56.1) - protocol-http1 (0.35.2) - protocol-http (~> 0.22) + protocol-http (0.58.0) + protocol-http1 (0.36.0) + protocol-http (~> 0.58) protocol-http2 (0.23.0) protocol-hpack (~> 1.4) protocol-http (~> 0.47) @@ -321,8 +321,8 @@ GEM talentbox-delayed_job_sequel (4.4.0) delayed_job (~> 4.1) sequel (>= 5.0, < 6.0) - thor (1.4.0) - tilt (2.6.1) + thor (1.5.0) + tilt (2.7.0) timecop (0.9.10) timeout (0.6.0) traces (0.18.2) diff --git a/src/vendor/cache/activesupport-8.1.1.gem b/src/vendor/cache/activesupport-8.1.1.gem deleted file mode 100644 index e076ce247a..0000000000 --- a/src/vendor/cache/activesupport-8.1.1.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e92534e8d0c8b8b5e6b16789c69dbea65c1d7b752269f71a39422e9546cea67 -size 267776 diff --git a/src/vendor/cache/activesupport-8.1.2.gem b/src/vendor/cache/activesupport-8.1.2.gem new file mode 100644 index 0000000000..fbaa78271d --- /dev/null +++ b/src/vendor/cache/activesupport-8.1.2.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88842578ccd0d40f658289b0e8c842acfe9af751afee2e0744a7873f50b6fdae +size 268800 diff --git a/src/vendor/cache/async-http-0.92.1.gem b/src/vendor/cache/async-http-0.92.1.gem deleted file mode 100644 index bf85189691..0000000000 --- a/src/vendor/cache/async-http-0.92.1.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:66db56854cd9173b2f4e3b55f6ba48e15021e316425f0275e310a1d9ab173d59 -size 39936 diff --git a/src/vendor/cache/async-http-0.93.0.gem b/src/vendor/cache/async-http-0.93.0.gem new file mode 100644 index 0000000000..8309b02228 --- /dev/null +++ b/src/vendor/cache/async-http-0.93.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04ff9aee39d981ebccf33b70dc6c69e39f60ea4a9199d1e6378afa09eacd53ec +size 39936 diff --git a/src/vendor/cache/protocol-http-0.56.1.gem b/src/vendor/cache/protocol-http-0.56.1.gem deleted file mode 100644 index dfa6688f48..0000000000 --- a/src/vendor/cache/protocol-http-0.56.1.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a2cf738967f417048c27f0beb37a976c54fedc6a2532d8d13e7454597dd294d1 -size 59904 diff --git a/src/vendor/cache/protocol-http-0.58.0.gem b/src/vendor/cache/protocol-http-0.58.0.gem new file mode 100644 index 0000000000..2240fb9c69 --- /dev/null +++ b/src/vendor/cache/protocol-http-0.58.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b77c5799e7a7acd31afaa9fed5c3714fe91ab7746925d66e9e4d92a5c74555fa +size 60928 diff --git a/src/vendor/cache/protocol-http1-0.35.2.gem b/src/vendor/cache/protocol-http1-0.35.2.gem deleted file mode 100644 index 48c9d9e597..0000000000 --- a/src/vendor/cache/protocol-http1-0.35.2.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b47aded38cd08dc37e9ed9ac7a54dc7bfaffa6d088dfaf3b178e2ef42fc614e6 -size 25088 diff --git a/src/vendor/cache/protocol-http1-0.36.0.gem b/src/vendor/cache/protocol-http1-0.36.0.gem new file mode 100644 index 0000000000..1ea8421c87 --- /dev/null +++ b/src/vendor/cache/protocol-http1-0.36.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:057344d2509a59338d0b4bc8f092a52126bb9ed51b76adbb4365f132bbd4ef09 +size 25088 diff --git a/src/vendor/cache/thor-1.4.0.gem b/src/vendor/cache/thor-1.4.0.gem deleted file mode 100644 index a28419ea36..0000000000 --- a/src/vendor/cache/thor-1.4.0.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8763e822ccb0f1d7bee88cde131b19a65606657b847cc7b7b4b82e772bcd8a3d -size 56320 diff --git a/src/vendor/cache/thor-1.5.0.gem b/src/vendor/cache/thor-1.5.0.gem new file mode 100644 index 0000000000..e1c971d7ab --- /dev/null +++ b/src/vendor/cache/thor-1.5.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73 +size 56832 diff --git a/src/vendor/cache/tilt-2.6.1.gem b/src/vendor/cache/tilt-2.6.1.gem deleted file mode 100644 index 03323f2de6..0000000000 --- a/src/vendor/cache/tilt-2.6.1.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:35a99bba2adf7c1e362f5b48f9b581cce4edfba98117e34696dde6d308d84770 -size 26624 diff --git a/src/vendor/cache/tilt-2.7.0.gem b/src/vendor/cache/tilt-2.7.0.gem new file mode 100644 index 0000000000..7c29020b91 --- /dev/null +++ b/src/vendor/cache/tilt-2.7.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d5b9ba69f6a36490c64b0eee9f6e9aad517e20dcc848800a06eb116f08c6ab3 +size 30720 From 51d43a9e3e32456c47042d29e592d240fae15dc4 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 10 Jan 2026 10:50:51 +0000 Subject: [PATCH 15/32] Updating blob davcli/davcli-0.0.451-linux-amd64 -> davcli/davcli-0.0.452-linux-amd64 --- config/blobs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index ba6fbda222..0fc935af58 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -6,10 +6,10 @@ bosh-gcscli/bosh-gcscli-0.0.350-linux-amd64: size: 45467220 object_id: 25558ac8-8568-41c3-7f1a-331a22b3fd97 sha: sha256:72a1c821ada123acdc0b975e062ee93a8893c228e9a6b16608c57f35e8cd561d -davcli/davcli-0.0.451-linux-amd64: +davcli/davcli-0.0.452-linux-amd64: size: 10167205 - object_id: 292175a3-5a06-4330-5052-dc7c1d43b03b - sha: sha256:691e3f9d9cab36ebc42df073924b5ec5663e10087920dcd00f0ddf61063114ba + object_id: 9bae12d5-e077-4850-74ad-b22cf76ecfe5 + sha: sha256:b0764a551ba670c260154be31d76990aa566a509761cc100d608492f38f32727 mysql/mariadb-connector-c-3.4.8-src.tar.gz: size: 1380411 object_id: 31e2e6c6-eefe-4512-68bd-757a7c27b044 From 1f26d51a430d4ab24d9ce58b570feaa53925ad73 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 10 Jan 2026 10:51:47 +0000 Subject: [PATCH 16/32] Updating blob bosh-gcscli/bosh-gcscli-0.0.350-linux-amd64 -> bosh-gcscli/bosh-gcscli-0.0.351-linux-amd64 --- config/blobs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index 0fc935af58..a9f7a9dac4 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -2,10 +2,10 @@ azure-storage-cli/azure-storage-cli-0.0.203-linux-amd64: size: 10466994 object_id: 6ac9fb56-2b38-4439-4c39-464f19fba556 sha: sha256:700db2b085bc52047608a1e598641cc2599f7ef8ca68512784ba54f229062b19 -bosh-gcscli/bosh-gcscli-0.0.350-linux-amd64: - size: 45467220 - object_id: 25558ac8-8568-41c3-7f1a-331a22b3fd97 - sha: sha256:72a1c821ada123acdc0b975e062ee93a8893c228e9a6b16608c57f35e8cd561d +bosh-gcscli/bosh-gcscli-0.0.351-linux-amd64: + size: 45492277 + object_id: 7d78b690-fb09-4a0d-6325-20a2ad2f58f9 + sha: sha256:c6a363a8e20b5746b05bf839c2ffad3ce022e6dd112d90472d6b844f1fa92d49 davcli/davcli-0.0.452-linux-amd64: size: 10167205 object_id: 9bae12d5-e077-4850-74ad-b22cf76ecfe5 From d62959c52945691ba2222b55240eca86501219ef Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 10 Jan 2026 12:21:39 +0000 Subject: [PATCH 17/32] Updating blob azure-storage-cli/azure-storage-cli-0.0.203-linux-amd64 -> azure-storage-cli/azure-storage-cli-0.0.204-linux-amd64 --- config/blobs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index a9f7a9dac4..1f69438b4c 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -1,7 +1,7 @@ -azure-storage-cli/azure-storage-cli-0.0.203-linux-amd64: +azure-storage-cli/azure-storage-cli-0.0.204-linux-amd64: size: 10466994 - object_id: 6ac9fb56-2b38-4439-4c39-464f19fba556 - sha: sha256:700db2b085bc52047608a1e598641cc2599f7ef8ca68512784ba54f229062b19 + object_id: 4aa42308-77d1-4688-77ad-9147ee89ff94 + sha: sha256:5315652e655de4b1beb2920bcec5a2e9de730a002063ac04dcba01593a54efa5 bosh-gcscli/bosh-gcscli-0.0.351-linux-amd64: size: 45492277 object_id: 7d78b690-fb09-4a0d-6325-20a2ad2f58f9 From 7255f17151920e77de7d85a0a896058c9715e731 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Mon, 12 Jan 2026 23:23:14 +0000 Subject: [PATCH 18/32] Updating blob verify-multidigest/verify-multidigest-0.0.579-linux-amd64 -> verify-multidigest/verify-multidigest-0.0.580-linux-amd64 --- config/blobs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index 1f69438b4c..dceab8364e 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -34,7 +34,7 @@ s3cli/s3cli-0.0.382-linux-amd64: size: 17092710 object_id: f2dfa879-daea-42d8-76a9-c7cd70c6117b sha: sha256:6fdcdf596ee83c5d87f61793fa80beb9a14e180e69a1c96745591df869092264 -verify-multidigest/verify-multidigest-0.0.579-linux-amd64: +verify-multidigest/verify-multidigest-0.0.580-linux-amd64: size: 4153999 - object_id: 04ba615d-8e37-4d60-5cc9-014ebe4d9708 - sha: sha256:830712c2ee5a40708198a478f6b1a0de361219fde2d5d06c7a4579c169d8715e + object_id: 6b89056d-a9df-427f-7fa5-a0ab68c05fa0 + sha: sha256:dcb40092e03b8547af375dce63123e75bea5bca880336726b9868cb658a3060b From 20d894470636879fab6a4582a0bcfdd3fae76897 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Thu, 15 Jan 2026 19:43:27 +0000 Subject: [PATCH 19/32] Updating blob azure-storage-cli/azure-storage-cli-0.0.204-linux-amd64 -> azure-storage-cli/azure-storage-cli-0.0.205-linux-amd64 --- config/blobs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index dceab8364e..16eee49d06 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -1,7 +1,7 @@ -azure-storage-cli/azure-storage-cli-0.0.204-linux-amd64: - size: 10466994 - object_id: 4aa42308-77d1-4688-77ad-9147ee89ff94 - sha: sha256:5315652e655de4b1beb2920bcec5a2e9de730a002063ac04dcba01593a54efa5 +azure-storage-cli/azure-storage-cli-0.0.205-linux-amd64: + size: 10466986 + object_id: 34de6254-bab5-4fcb-6e97-68822c49610b + sha: sha256:0023743ba8fc1e7826d86a511aa2755cb669b215cbc956f8a648db8c9659f64a bosh-gcscli/bosh-gcscli-0.0.351-linux-amd64: size: 45492277 object_id: 7d78b690-fb09-4a0d-6325-20a2ad2f58f9 From 7933ec6e9e409aa46ad11913c024dde378430309 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Thu, 15 Jan 2026 19:49:17 +0000 Subject: [PATCH 20/32] Updating blob bosh-gcscli/bosh-gcscli-0.0.351-linux-amd64 -> bosh-gcscli/bosh-gcscli-0.0.352-linux-amd64 --- config/blobs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index 16eee49d06..f017538afa 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -2,10 +2,10 @@ azure-storage-cli/azure-storage-cli-0.0.205-linux-amd64: size: 10466986 object_id: 34de6254-bab5-4fcb-6e97-68822c49610b sha: sha256:0023743ba8fc1e7826d86a511aa2755cb669b215cbc956f8a648db8c9659f64a -bosh-gcscli/bosh-gcscli-0.0.351-linux-amd64: - size: 45492277 - object_id: 7d78b690-fb09-4a0d-6325-20a2ad2f58f9 - sha: sha256:c6a363a8e20b5746b05bf839c2ffad3ce022e6dd112d90472d6b844f1fa92d49 +bosh-gcscli/bosh-gcscli-0.0.352-linux-amd64: + size: 45487034 + object_id: 0e30ac4f-c3b1-4644-5730-1710eaac7c00 + sha: sha256:99cf12eba01326c1a0bd5c0143ab56c79da36f7dc64229fc387ae141c4a0f073 davcli/davcli-0.0.452-linux-amd64: size: 10167205 object_id: 9bae12d5-e077-4850-74ad-b22cf76ecfe5 From 3efc222092552cc15bc3a1a59c3f4f0272df88ac Mon Sep 17 00:00:00 2001 From: CI Bot Date: Thu, 15 Jan 2026 20:00:52 +0000 Subject: [PATCH 21/32] Updating blob azure-storage-cli/azure-storage-cli-0.0.205-linux-amd64 -> azure-storage-cli/azure-storage-cli-0.0.206-linux-amd64 --- config/blobs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index f017538afa..6692b6755f 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -1,7 +1,7 @@ -azure-storage-cli/azure-storage-cli-0.0.205-linux-amd64: +azure-storage-cli/azure-storage-cli-0.0.206-linux-amd64: size: 10466986 - object_id: 34de6254-bab5-4fcb-6e97-68822c49610b - sha: sha256:0023743ba8fc1e7826d86a511aa2755cb669b215cbc956f8a648db8c9659f64a + object_id: a18a6da5-4935-4d08-7dc3-d10b5435bfae + sha: sha256:c4f788b36a889e2b59eaa743cd7895676e56d9337ff908c84c852161d8ee586c bosh-gcscli/bosh-gcscli-0.0.352-linux-amd64: size: 45487034 object_id: 0e30ac4f-c3b1-4644-5730-1710eaac7c00 From cfa23c15ea8cab9a8f064e1dd2ffbde8d760bf98 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Thu, 15 Jan 2026 20:01:36 +0000 Subject: [PATCH 22/32] Updating blob verify-multidigest/verify-multidigest-0.0.580-linux-amd64 -> verify-multidigest/verify-multidigest-0.0.581-linux-amd64 --- config/blobs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index 6692b6755f..74a0b648eb 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -34,7 +34,7 @@ s3cli/s3cli-0.0.382-linux-amd64: size: 17092710 object_id: f2dfa879-daea-42d8-76a9-c7cd70c6117b sha: sha256:6fdcdf596ee83c5d87f61793fa80beb9a14e180e69a1c96745591df869092264 -verify-multidigest/verify-multidigest-0.0.580-linux-amd64: +verify-multidigest/verify-multidigest-0.0.581-linux-amd64: size: 4153999 - object_id: 6b89056d-a9df-427f-7fa5-a0ab68c05fa0 - sha: sha256:dcb40092e03b8547af375dce63123e75bea5bca880336726b9868cb658a3060b + object_id: 2e89a728-ad3f-4856-49b3-edb6698a4fcd + sha: sha256:1d57c7eb44f186baa101b60572f9f633070bd826215f3dd5aa052d687992ead6 From 3d114f2a6a15d34da9d7c589a03f8aad03192151 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Thu, 15 Jan 2026 20:16:58 +0000 Subject: [PATCH 23/32] Updating blob bosh-gcscli/bosh-gcscli-0.0.352-linux-amd64 -> bosh-gcscli/bosh-gcscli-0.0.353-linux-amd64 --- config/blobs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index 74a0b648eb..10baeed894 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -2,10 +2,10 @@ azure-storage-cli/azure-storage-cli-0.0.206-linux-amd64: size: 10466986 object_id: a18a6da5-4935-4d08-7dc3-d10b5435bfae sha: sha256:c4f788b36a889e2b59eaa743cd7895676e56d9337ff908c84c852161d8ee586c -bosh-gcscli/bosh-gcscli-0.0.352-linux-amd64: +bosh-gcscli/bosh-gcscli-0.0.353-linux-amd64: size: 45487034 - object_id: 0e30ac4f-c3b1-4644-5730-1710eaac7c00 - sha: sha256:99cf12eba01326c1a0bd5c0143ab56c79da36f7dc64229fc387ae141c4a0f073 + object_id: d7740299-8ccc-47db-7bfb-1c68205f5ecd + sha: sha256:12e16810d5160edb06788f68d45d4f4ea71b6df723d04c7def6eac362249ff0e davcli/davcli-0.0.452-linux-amd64: size: 10167205 object_id: 9bae12d5-e077-4850-74ad-b22cf76ecfe5 From 8c66f9c6fc108e754648074bdf1019c092162540 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 17 Jan 2026 10:00:54 +0000 Subject: [PATCH 24/32] Update vendored dependencies --- src/brats/go.mod | 8 +- src/brats/go.sum | 16 +- .../google/pprof/profile/profile.go | 2 +- .../github.com/onsi/ginkgo/v2/CHANGELOG.md | 5 + .../internal/testingtproxy/testing_t_proxy.go | 7 +- .../onsi/ginkgo/v2/types/version.go | 2 +- .../x/tools/go/ast/inspector/cursor.go | 10 + .../x/tools/internal/stdlib/deps.go | 630 +++++++++--------- .../x/tools/internal/stdlib/manifest.go | 74 +- src/brats/vendor/modules.txt | 8 +- 10 files changed, 418 insertions(+), 344 deletions(-) diff --git a/src/brats/go.mod b/src/brats/go.mod index f1e4fdb6d2..1fd0f3054e 100644 --- a/src/brats/go.mod +++ b/src/brats/go.mod @@ -4,7 +4,7 @@ go 1.24.0 require ( github.com/creack/pty v1.1.15 - github.com/onsi/ginkgo/v2 v2.27.4 + github.com/onsi/ginkgo/v2 v2.27.5 github.com/onsi/gomega v1.39.0 ) @@ -13,12 +13,12 @@ require ( github.com/go-logr/logr v1.4.3 // indirect github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/google/go-cmp v0.7.0 // indirect - github.com/google/pprof v0.0.0-20251114195745-4902fdda35c8 // indirect + github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/mod v0.32.0 // indirect - golang.org/x/net v0.48.0 // indirect + golang.org/x/net v0.49.0 // indirect golang.org/x/sync v0.19.0 // indirect golang.org/x/sys v0.40.0 // indirect golang.org/x/text v0.33.0 // indirect - golang.org/x/tools v0.40.0 // indirect + golang.org/x/tools v0.41.0 // indirect ) diff --git a/src/brats/go.sum b/src/brats/go.sum index 9f1423377a..5b748f9b8f 100644 --- a/src/brats/go.sum +++ b/src/brats/go.sum @@ -18,8 +18,8 @@ github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/google/pprof v0.0.0-20251114195745-4902fdda35c8 h1:3DsUAV+VNEQa2CUVLxCY3f87278uWfIDhJnbdvDjvmE= -github.com/google/pprof v0.0.0-20251114195745-4902fdda35c8/go.mod h1:I6V7YzU0XDpsHqbsyrghnFZLO1gwK6NPTNvmetQIk9U= +github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 h1:z2ogiKUYzX5Is6zr/vP9vJGqPwcdqsWjOt+V8J7+bTc= +github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= github.com/joshdk/go-junit v1.0.0 h1:S86cUKIdwBHWwA6xCmFlf3RTLfVXYQfvanM5Uh+K6GE= github.com/joshdk/go-junit v1.0.0/go.mod h1:TiiV0PqkaNfFXjEiyjWM3XXrhVyCa1K4Zfga6W52ung= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -30,8 +30,8 @@ github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo= github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg= github.com/mfridman/tparse v0.18.0 h1:wh6dzOKaIwkUGyKgOntDW4liXSo37qg5AXbIhkMV3vE= github.com/mfridman/tparse v0.18.0/go.mod h1:gEvqZTuCgEhPbYk/2lS3Kcxg1GmTxxU7kTC8DvP0i/A= -github.com/onsi/ginkgo/v2 v2.27.4 h1:fcEcQW/A++6aZAZQNUmNjvA9PSOzefMJBerHJ4t8v8Y= -github.com/onsi/ginkgo/v2 v2.27.4/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= +github.com/onsi/ginkgo/v2 v2.27.5 h1:ZeVgZMx2PDMdJm/+w5fE/OyG6ILo1Y3e+QX4zSR0zTE= +github.com/onsi/ginkgo/v2 v2.27.5/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= github.com/onsi/gomega v1.39.0 h1:y2ROC3hKFmQZJNFeGAMeHZKkjBL65mIZcvrLQBF9k6Q= github.com/onsi/gomega v1.39.0/go.mod h1:ZCU1pkQcXDO5Sl9/VVEGlDyp+zm0m1cmeG5TOzLgdh4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -52,16 +52,16 @@ go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= -golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= -golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= +golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= +golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= -golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= -golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= +golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A= google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/src/brats/vendor/github.com/google/pprof/profile/profile.go b/src/brats/vendor/github.com/google/pprof/profile/profile.go index 43f561d445..18df65a8df 100644 --- a/src/brats/vendor/github.com/google/pprof/profile/profile.go +++ b/src/brats/vendor/github.com/google/pprof/profile/profile.go @@ -278,7 +278,7 @@ func (p *Profile) massageMappings() { // Use heuristics to identify main binary and move it to the top of the list of mappings for i, m := range p.Mapping { - file := strings.TrimSpace(strings.Replace(m.File, "(deleted)", "", -1)) + file := strings.TrimSpace(strings.ReplaceAll(m.File, "(deleted)", "")) if len(file) == 0 { continue } diff --git a/src/brats/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md b/src/brats/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md index 69be62380d..dd35aa1c27 100644 --- a/src/brats/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md +++ b/src/brats/vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md @@ -1,3 +1,8 @@ +## 2.27.5 + +### Fixes +Don't make a new formatter for each GinkgoT(); that's just silly and uses precious memory + ## 2.27.4 ### Fixes diff --git a/src/brats/vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.go b/src/brats/vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.go index 9806e315a6..5704f0fdf9 100644 --- a/src/brats/vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.go +++ b/src/brats/vendor/github.com/onsi/ginkgo/v2/internal/testingtproxy/testing_t_proxy.go @@ -27,6 +27,11 @@ type ginkgoWriterInterface interface { type ginkgoRecoverFunc func() type attachProgressReporterFunc func(func() string) func() +var formatters = map[bool]formatter.Formatter{ + true: formatter.NewWithNoColorBool(true), + false: formatter.NewWithNoColorBool(false), +} + func New(writer ginkgoWriterInterface, fail failFunc, skip skipFunc, cleanup cleanupFunc, report reportFunc, addReportEntry addReportEntryFunc, ginkgoRecover ginkgoRecoverFunc, attachProgressReporter attachProgressReporterFunc, randomSeed int64, parallelProcess int, parallelTotal int, noColor bool, offset int) *ginkgoTestingTProxy { return &ginkgoTestingTProxy{ fail: fail, @@ -41,7 +46,7 @@ func New(writer ginkgoWriterInterface, fail failFunc, skip skipFunc, cleanup cle randomSeed: randomSeed, parallelProcess: parallelProcess, parallelTotal: parallelTotal, - f: formatter.NewWithNoColorBool(noColor), + f: formatters[noColor], //minimize allocations by reusing formatters } } diff --git a/src/brats/vendor/github.com/onsi/ginkgo/v2/types/version.go b/src/brats/vendor/github.com/onsi/ginkgo/v2/types/version.go index 66cbbcf3c3..72fb8ec30a 100644 --- a/src/brats/vendor/github.com/onsi/ginkgo/v2/types/version.go +++ b/src/brats/vendor/github.com/onsi/ginkgo/v2/types/version.go @@ -1,3 +1,3 @@ package types -const VERSION = "2.27.4" +const VERSION = "2.27.5" diff --git a/src/brats/vendor/golang.org/x/tools/go/ast/inspector/cursor.go b/src/brats/vendor/golang.org/x/tools/go/ast/inspector/cursor.go index fc9bbc714c..60ad425f34 100644 --- a/src/brats/vendor/golang.org/x/tools/go/ast/inspector/cursor.go +++ b/src/brats/vendor/golang.org/x/tools/go/ast/inspector/cursor.go @@ -453,6 +453,9 @@ func (c Cursor) FindNode(n ast.Node) (Cursor, bool) { // rooted at c such that n.Pos() <= start && end <= n.End(). // (For an *ast.File, it uses the bounds n.FileStart-n.FileEnd.) // +// An empty range (start == end) between two adjacent nodes is +// considered to belong to the first node. +// // It returns zero if none is found. // Precondition: start <= end. // @@ -501,10 +504,17 @@ func (c Cursor) FindByPos(start, end token.Pos) (Cursor, bool) { break // disjoint, after; stop } } + // Inv: node.{Pos,FileStart} <= start if end <= nodeEnd { // node fully contains target range best = i + + // Don't search beyond end of the first match. + // This is important only for an empty range (start=end) + // between two adjoining nodes, which would otherwise + // match both nodes; we want to match only the first. + limit = ev.index } else if nodeEnd < start { i = ev.index // disjoint, before; skip forward } diff --git a/src/brats/vendor/golang.org/x/tools/internal/stdlib/deps.go b/src/brats/vendor/golang.org/x/tools/internal/stdlib/deps.go index f7b9c12865..f41431c949 100644 --- a/src/brats/vendor/golang.org/x/tools/internal/stdlib/deps.go +++ b/src/brats/vendor/golang.org/x/tools/internal/stdlib/deps.go @@ -12,364 +12,366 @@ type pkginfo struct { } var deps = [...]pkginfo{ - {"archive/tar", "\x03p\x03F=\x01\n\x01$\x01\x01\x02\x05\b\x02\x01\x02\x02\f"}, - {"archive/zip", "\x02\x04f\a\x03\x13\x021=\x01+\x05\x01\x0f\x03\x02\x0e\x04"}, - {"bufio", "\x03p\x86\x01D\x14"}, - {"bytes", "s+[\x03\fG\x02\x02"}, + {"archive/tar", "\x03q\x03F=\x01\n\x01$\x01\x01\x02\x05\b\x02\x01\x02\x02\r"}, + {"archive/zip", "\x02\x04g\a\x03\x13\x021=\x01+\x05\x01\x0f\x03\x02\x0f\x04"}, + {"bufio", "\x03q\x86\x01D\x15"}, + {"bytes", "t+[\x03\fH\x02\x02"}, {"cmp", ""}, - {"compress/bzip2", "\x02\x02\xf5\x01A"}, - {"compress/flate", "\x02q\x03\x83\x01\f\x033\x01\x03"}, - {"compress/gzip", "\x02\x04f\a\x03\x15nT"}, - {"compress/lzw", "\x02q\x03\x83\x01"}, - {"compress/zlib", "\x02\x04f\a\x03\x13\x01o"}, - {"container/heap", "\xbb\x02"}, + {"compress/bzip2", "\x02\x02\xf6\x01A"}, + {"compress/flate", "\x02r\x03\x83\x01\f\x033\x01\x03"}, + {"compress/gzip", "\x02\x04g\a\x03\x15nU"}, + {"compress/lzw", "\x02r\x03\x83\x01"}, + {"compress/zlib", "\x02\x04g\a\x03\x13\x01o"}, + {"container/heap", "\xbc\x02"}, {"container/list", ""}, {"container/ring", ""}, - {"context", "s\\p\x01\r"}, - {"crypto", "\x89\x01pC"}, - {"crypto/aes", "\x10\n\t\x99\x02"}, - {"crypto/cipher", "\x03 \x01\x01 \x12\x1c,Z"}, - {"crypto/des", "\x10\x15 .,\x9d\x01\x03"}, - {"crypto/dsa", "E\x04*\x86\x01\r"}, - {"crypto/ecdh", "\x03\v\f\x10\x04\x17\x04\x0e\x1c\x86\x01"}, - {"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x10\b\v\x06\x01\x04\r\x01\x1c\x86\x01\r\x05K\x01"}, - {"crypto/ed25519", "\x0e\x1e\x12\a\v\a\x1c\x86\x01C"}, - {"crypto/elliptic", "3@\x86\x01\r9"}, - {"crypto/fips140", "\"\x05"}, - {"crypto/hkdf", "/\x15\x01.\x16"}, - {"crypto/hmac", "\x1a\x16\x14\x01\x122"}, - {"crypto/internal/boring", "\x0e\x02\rl"}, - {"crypto/internal/boring/bbig", "\x1a\xec\x01M"}, - {"crypto/internal/boring/bcache", "\xc0\x02\x13"}, + {"context", "t\\p\x01\x0e"}, + {"crypto", "\x8a\x01pC"}, + {"crypto/aes", "\x10\v\t\x99\x02"}, + {"crypto/cipher", "\x03!\x01\x01 \x12\x1c,Z"}, + {"crypto/des", "\x10\x16 .,\x9d\x01\x03"}, + {"crypto/dsa", "F\x03+\x86\x01\r"}, + {"crypto/ecdh", "\x03\v\r\x10\x04\x17\x03\x0f\x1c\x86\x01"}, + {"crypto/ecdsa", "\x0e\x05\x03\x05\x01\x10\b\v\x06\x01\x03\x0e\x01\x1c\x86\x01\r\x05L\x01"}, + {"crypto/ed25519", "\x0e\x1f\x12\a\x03\b\a\x1cI=C"}, + {"crypto/elliptic", "4@\x86\x01\r9"}, + {"crypto/fips140", "#\x05\x95\x01\x98\x01"}, + {"crypto/hkdf", "0\x15\x01.\x16"}, + {"crypto/hmac", "\x1b\x16\x14\x01\x122"}, + {"crypto/hpke", "\x03\v\x02\x03\x04\x01\f\x01\x05\x1f\x05\a\x01\x01\x1d\x03\x13\x16\x9b\x01\x1c"}, + {"crypto/internal/boring", "\x0e\x02\x0el"}, + {"crypto/internal/boring/bbig", "\x1b\xec\x01N"}, + {"crypto/internal/boring/bcache", "\xc1\x02\x14"}, {"crypto/internal/boring/sig", ""}, {"crypto/internal/constanttime", ""}, - {"crypto/internal/cryptotest", "\x03\r\n\b&\x0f\x19\x06\x13\x12 \x04\x06\t\x19\x01\x11\x11\x1b\x01\a\x05\b\x03\x05\v"}, - {"crypto/internal/entropy", "J"}, - {"crypto/internal/entropy/v1.0.0", "C0\x95\x018\x13"}, - {"crypto/internal/fips140", "B1\xbf\x01\v\x16"}, - {"crypto/internal/fips140/aes", "\x03\x1f\x03\x02\x14\x05\x01\x01\x06+\x95\x014"}, - {"crypto/internal/fips140/aes/gcm", "\"\x01\x02\x02\x02\x12\x05\x01\a+\x92\x01"}, - {"crypto/internal/fips140/alias", "\xd3\x02"}, - {"crypto/internal/fips140/bigmod", "'\x19\x01\a+\x95\x01"}, - {"crypto/internal/fips140/check", "\"\x0e\a\t\x02\xb7\x01Z"}, - {"crypto/internal/fips140/check/checktest", "'\x8b\x02!"}, - {"crypto/internal/fips140/drbg", "\x03\x1e\x01\x01\x04\x14\x05\t\x01)\x86\x01\x0f7\x01"}, - {"crypto/internal/fips140/ecdh", "\x03\x1f\x05\x02\n\r3\x86\x01\x0f7"}, - {"crypto/internal/fips140/ecdsa", "\x03\x1f\x04\x01\x02\a\x03\x06:\x16pF"}, - {"crypto/internal/fips140/ed25519", "\x03\x1f\x05\x02\x04\f:\xc9\x01\x03"}, - {"crypto/internal/fips140/edwards25519", "\x1e\t\a\x123\x95\x017"}, - {"crypto/internal/fips140/edwards25519/field", "'\x14\x053\x95\x01"}, - {"crypto/internal/fips140/hkdf", "\x03\x1f\x05\t\a<\x16"}, - {"crypto/internal/fips140/hmac", "\x03\x1f\x15\x01\x01:\x16"}, - {"crypto/internal/fips140/mldsa", "\x03\x1b\x04\x05\x02\x0e\x01\x03\x053\x95\x017"}, - {"crypto/internal/fips140/mlkem", "\x03\x1f\x05\x02\x0f\x03\x053\xcc\x01"}, - {"crypto/internal/fips140/nistec", "\x1e\t\r\f3\x95\x01*\r\x14"}, - {"crypto/internal/fips140/nistec/fiat", "'\x148\x95\x01"}, - {"crypto/internal/fips140/pbkdf2", "\x03\x1f\x05\t\a<\x16"}, - {"crypto/internal/fips140/rsa", "\x03\x1b\x04\x04\x01\x02\x0e\x01\x01\x028\x16pF"}, - {"crypto/internal/fips140/sha256", "\x03\x1f\x1e\x01\a+\x16\x7f"}, - {"crypto/internal/fips140/sha3", "\x03\x1f\x19\x05\x012\x95\x01K"}, - {"crypto/internal/fips140/sha512", "\x03\x1f\x1e\x01\a+\x16\x7f"}, - {"crypto/internal/fips140/ssh", "'b"}, - {"crypto/internal/fips140/subtle", "\x1e\a\x1b\xc8\x01"}, - {"crypto/internal/fips140/tls12", "\x03\x1f\x05\t\a\x02:\x16"}, - {"crypto/internal/fips140/tls13", "\x03\x1f\x05\b\b\t3\x16"}, - {"crypto/internal/fips140cache", "\xb2\x02\r&"}, + {"crypto/internal/cryptotest", "\x03\r\v\b%\x10\x19\x06\x13\x12 \x04\x06\t\x19\x01\x11\x11\x1b\x01\a\x05\b\x03\x05\f"}, + {"crypto/internal/entropy", "K"}, + {"crypto/internal/entropy/v1.0.0", "D0\x95\x018\x14"}, + {"crypto/internal/fips140", "C1\xbf\x01\v\x17"}, + {"crypto/internal/fips140/aes", "\x03 \x03\x02\x14\x05\x01\x01\x05,\x95\x014"}, + {"crypto/internal/fips140/aes/gcm", "#\x01\x02\x02\x02\x12\x05\x01\x06,\x92\x01"}, + {"crypto/internal/fips140/alias", "\xd5\x02"}, + {"crypto/internal/fips140/bigmod", "(\x19\x01\x06,\x95\x01"}, + {"crypto/internal/fips140/check", "#\x0e\a\t\x02\xb7\x01["}, + {"crypto/internal/fips140/check/checktest", "(\x8b\x02\""}, + {"crypto/internal/fips140/drbg", "\x03\x1f\x01\x01\x04\x14\x05\n)\x86\x01\x0f7\x01"}, + {"crypto/internal/fips140/ecdh", "\x03 \x05\x02\n\r3\x86\x01\x0f7"}, + {"crypto/internal/fips140/ecdsa", "\x03 \x04\x01\x02\a\x03\x06:\x16pF"}, + {"crypto/internal/fips140/ed25519", "\x03 \x05\x02\x04\f:\xc9\x01\x03"}, + {"crypto/internal/fips140/edwards25519", "\x1f\t\a\x123\x95\x017"}, + {"crypto/internal/fips140/edwards25519/field", "(\x14\x053\x95\x01"}, + {"crypto/internal/fips140/hkdf", "\x03 \x05\t\a<\x16"}, + {"crypto/internal/fips140/hmac", "\x03 \x15\x01\x01:\x16"}, + {"crypto/internal/fips140/mldsa", "\x03\x1c\x04\x05\x02\x0e\x01\x03\x053\x95\x017"}, + {"crypto/internal/fips140/mlkem", "\x03 \x05\x02\x0f\x03\x053\xcc\x01"}, + {"crypto/internal/fips140/nistec", "\x1f\t\r\f3\x95\x01*\r\x15"}, + {"crypto/internal/fips140/nistec/fiat", "(\x148\x95\x01"}, + {"crypto/internal/fips140/pbkdf2", "\x03 \x05\t\a<\x16"}, + {"crypto/internal/fips140/rsa", "\x03\x1c\x04\x04\x01\x02\x0e\x01\x01\x028\x16pF"}, + {"crypto/internal/fips140/sha256", "\x03 \x1e\x01\x06,\x16\x7f"}, + {"crypto/internal/fips140/sha3", "\x03 \x19\x05\x012\x95\x01L"}, + {"crypto/internal/fips140/sha512", "\x03 \x1e\x01\x06,\x16\x7f"}, + {"crypto/internal/fips140/ssh", "(b"}, + {"crypto/internal/fips140/subtle", "\x1f\a\x1b\xc8\x01"}, + {"crypto/internal/fips140/tls12", "\x03 \x05\t\a\x02:\x16"}, + {"crypto/internal/fips140/tls13", "\x03 \x05\b\b\t3\x16"}, + {"crypto/internal/fips140cache", "\xb3\x02\r'"}, {"crypto/internal/fips140deps", ""}, - {"crypto/internal/fips140deps/byteorder", "\x9f\x01"}, - {"crypto/internal/fips140deps/cpu", "\xb4\x01\a"}, - {"crypto/internal/fips140deps/godebug", "\xbc\x01"}, - {"crypto/internal/fips140deps/time", "\xcd\x02"}, - {"crypto/internal/fips140hash", "8\x1d4\xca\x01"}, - {"crypto/internal/fips140only", ")\x0e\x01\x01P3="}, + {"crypto/internal/fips140deps/byteorder", "\xa0\x01"}, + {"crypto/internal/fips140deps/cpu", "\xb5\x01\a"}, + {"crypto/internal/fips140deps/godebug", "\xbd\x01"}, + {"crypto/internal/fips140deps/time", "\xcf\x02"}, + {"crypto/internal/fips140hash", "9\x1d4\xcb\x01"}, + {"crypto/internal/fips140only", "\x17\x13\x0e\x01\x01Pp"}, {"crypto/internal/fips140test", ""}, - {"crypto/internal/hpke", "\x03\v\x01\x01\x03\x055\x03\x04\x01\x01\x16\a\x03\x13\xcc\x01"}, - {"crypto/internal/impl", "\xbd\x02"}, - {"crypto/internal/randutil", "\xf9\x01\x12"}, - {"crypto/internal/sysrand", "sq! \r\r\x01\x01\f\x06"}, - {"crypto/internal/sysrand/internal/seccomp", "s"}, - {"crypto/md5", "\x0e7.\x16\x16i"}, - {"crypto/mlkem", "\x0e$"}, - {"crypto/mlkem/mlkemtest", "2\x1b&"}, - {"crypto/pbkdf2", "5\x0f\x01.\x16"}, - {"crypto/rand", "\x1a\b\a\x1c\x04\x01)\x86\x01\rM"}, - {"crypto/rc4", "% .\xc9\x01"}, - {"crypto/rsa", "\x0e\f\x01\v\x10\x0e\x01\x04\a\a\x1c\x03\x133=\f\x01"}, - {"crypto/sha1", "\x0e\f+\x03+\x16\x16\x15T"}, - {"crypto/sha256", "\x0e\f\x1dR"}, - {"crypto/sha3", "\x0e*Q\xca\x01"}, - {"crypto/sha512", "\x0e\f\x1fP"}, - {"crypto/subtle", "\x1e\x1d\x9f\x01X"}, - {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x02\x01\x01\t\x01\x0e\n\x01\n\x05\x04\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x13\x16\x15\b=\x16\x16\r\b\x01\x01\x01\x02\x01\r\x06\x02\x01\x0f"}, - {"crypto/tls/internal/fips140tls", "\x17\xa9\x02"}, - {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x016\x06\x01\x01\x02\x05\x0e\x06\x02\x02\x03F\x03:\x01\x02\b\x01\x01\x02\a\x10\x05\x01\x06\a\b\x02\x01\x02\x0e\x02\x01\x01\x02\x03\x01"}, - {"crypto/x509/pkix", "i\x06\a\x90\x01G"}, - {"database/sql", "\x03\nP\x16\x03\x83\x01\v\a\"\x05\b\x02\x03\x01\r\x02\x02\x02"}, - {"database/sql/driver", "\rf\x03\xb7\x01\x0f\x11"}, - {"debug/buildinfo", "\x03]\x02\x01\x01\b\a\x03g\x1a\x02\x01+\x0f\x1f"}, - {"debug/dwarf", "\x03i\a\x03\x83\x011\x11\x01\x01"}, - {"debug/elf", "\x03\x06V\r\a\x03g\x1b\x01\f \x17\x01\x16"}, - {"debug/gosym", "\x03i\n\xc5\x01\x01\x01\x02"}, - {"debug/macho", "\x03\x06V\r\ng\x1c,\x17\x01"}, - {"debug/pe", "\x03\x06V\r\a\x03g\x1c,\x17\x01\x16"}, - {"debug/plan9obj", "l\a\x03g\x1c,"}, - {"embed", "s+B\x19\x01S"}, + {"crypto/internal/impl", "\xbe\x02"}, + {"crypto/internal/rand", "\x1b\x0f s=["}, + {"crypto/internal/randutil", "\xfa\x01\x12"}, + {"crypto/internal/sysrand", "tq! \r\r\x01\x01\r\x06"}, + {"crypto/internal/sysrand/internal/seccomp", "t"}, + {"crypto/md5", "\x0e8.\x16\x16i"}, + {"crypto/mlkem", "\x0e%"}, + {"crypto/mlkem/mlkemtest", "3\x13\b&"}, + {"crypto/pbkdf2", "6\x0f\x01.\x16"}, + {"crypto/rand", "\x1b\x0f\x1c\x03+\x86\x01\rN"}, + {"crypto/rc4", "& .\xc9\x01"}, + {"crypto/rsa", "\x0e\r\x01\v\x10\x0e\x01\x03\b\a\x1c\x03\x133=\f\x01"}, + {"crypto/sha1", "\x0e\r+\x02,\x16\x16\x15T"}, + {"crypto/sha256", "\x0e\r\x1dR"}, + {"crypto/sha3", "\x0e+Q\xcb\x01"}, + {"crypto/sha512", "\x0e\r\x1fP"}, + {"crypto/subtle", "\x1f\x1d\x9f\x01z"}, + {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x02\x01\x01\x01\t\x01\x18\x01\x0f\x01\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x13\x16\x15\b=\x16\x16\r\b\x01\x01\x01\x02\x01\x0e\x06\x02\x01\x0f"}, + {"crypto/tls/internal/fips140tls", "\x17\xaa\x02"}, + {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x017\x06\x01\x01\x02\x05\x0e\x06\x02\x02\x03F\x03:\x01\x02\b\x01\x01\x02\a\x10\x05\x01\x06\a\b\x02\x01\x02\x0f\x02\x01\x01\x02\x03\x01"}, + {"crypto/x509/pkix", "j\x06\a\x90\x01H"}, + {"database/sql", "\x03\nQ\x16\x03\x83\x01\v\a\"\x05\b\x02\x03\x01\x0e\x02\x02\x02"}, + {"database/sql/driver", "\rg\x03\xb7\x01\x0f\x12"}, + {"debug/buildinfo", "\x03^\x02\x01\x01\b\a\x03g\x1a\x02\x01+\x0f "}, + {"debug/dwarf", "\x03j\a\x03\x83\x011\x11\x01\x01"}, + {"debug/elf", "\x03\x06W\r\a\x03g\x1b\x01\f \x17\x01\x17"}, + {"debug/gosym", "\x03j\n$\xa1\x01\x01\x01\x02"}, + {"debug/macho", "\x03\x06W\r\ng\x1c,\x17\x01"}, + {"debug/pe", "\x03\x06W\r\a\x03g\x1c,\x17\x01\x17"}, + {"debug/plan9obj", "m\a\x03g\x1c,"}, + {"embed", "t+B\x19\x01T"}, {"embed/internal/embedtest", ""}, {"encoding", ""}, - {"encoding/ascii85", "\xf9\x01C"}, - {"encoding/asn1", "\x03p\x03g(\x01'\r\x02\x01\x10\x03\x01"}, - {"encoding/base32", "\xf9\x01A\x02"}, - {"encoding/base64", "\x9f\x01ZA\x02"}, - {"encoding/binary", "s\x86\x01\f(\r\x05"}, - {"encoding/csv", "\x02\x01p\x03\x83\x01D\x12\x02"}, - {"encoding/gob", "\x02e\x05\a\x03g\x1c\v\x01\x03\x1d\b\x12\x01\x0f\x02"}, - {"encoding/hex", "s\x03\x83\x01A\x03"}, - {"encoding/json", "\x03\x01c\x04\b\x03\x83\x01\f(\r\x02\x01\x02\x10\x01\x01\x02"}, - {"encoding/pem", "\x03h\b\x86\x01A\x03"}, - {"encoding/xml", "\x02\x01d\f\x03\x83\x014\x05\n\x01\x02\x10\x02"}, - {"errors", "\xcf\x01\x84\x01"}, - {"expvar", "pLA\b\v\x15\r\b\x02\x03\x01\x11"}, - {"flag", "g\f\x03\x83\x01,\b\x05\b\x02\x01\x10"}, - {"fmt", "sF'\x19\f \b\r\x02\x03\x12"}, - {"go/ast", "\x03\x01r\x0f\x01s\x03)\b\r\x02\x01\x12\x02"}, - {"go/build", "\x02\x01p\x03\x01\x02\x02\b\x02\x01\x17\x1f\x04\x02\b\x1c\x13\x01+\x01\x04\x01\a\b\x02\x01\x12\x02\x02"}, - {"go/build/constraint", "s\xc9\x01\x01\x12\x02"}, - {"go/constant", "v\x10\x7f\x01\x024\x01\x02\x12"}, - {"go/doc", "\x04r\x01\x05\n=61\x10\x02\x01\x12\x02"}, - {"go/doc/comment", "\x03s\xc4\x01\x01\x01\x01\x12\x02"}, - {"go/format", "\x03s\x01\f\x01\x02sD"}, - {"go/importer", "x\a\x01\x02\x04\x01r9"}, - {"go/internal/gccgoimporter", "\x02\x01]\x13\x03\x04\f\x01p\x02,\x01\x05\x11\x01\f\b"}, - {"go/internal/gcimporter", "\x02t\x10\x010\x05\r0,\x15\x03\x02"}, - {"go/internal/scannerhooks", "\x86\x01"}, - {"go/internal/srcimporter", "v\x01\x01\v\x03\x01r,\x01\x05\x12\x02\x14"}, - {"go/parser", "\x03p\x03\x01\x02\b\x04\x01s\x01+\x06\x12"}, - {"go/printer", "v\x01\x02\x03\ns\f \x15\x02\x01\x02\v\x05\x02"}, - {"go/scanner", "\x03s\v\x05s2\x10\x01\x13\x02"}, - {"go/token", "\x04r\x86\x01>\x02\x03\x01\x0f\x02"}, - {"go/types", "\x03\x01\x06i\x03\x01\x03\t\x03\x024\x063\x04\x03\t \x06\a\b\x01\x01\x01\x02\x01\x0f\x02\x02"}, - {"go/version", "\xc1\x01|"}, - {"hash", "\xf9\x01"}, - {"hash/adler32", "s\x16\x16"}, - {"hash/crc32", "s\x16\x16\x15\x8b\x01\x01\x13"}, - {"hash/crc64", "s\x16\x16\xa0\x01"}, - {"hash/fnv", "s\x16\x16i"}, - {"hash/maphash", "\x89\x01\x11<}"}, - {"html", "\xbd\x02\x02\x12"}, - {"html/template", "\x03m\x06\x19-=\x01\n!\x05\x01\x02\x03\f\x01\x02\f\x01\x03\x02"}, - {"image", "\x02q\x1fg\x0f4\x03\x01"}, + {"encoding/ascii85", "\xfa\x01C"}, + {"encoding/asn1", "\x03q\x03g(\x01'\r\x02\x01\x11\x03\x01"}, + {"encoding/base32", "\xfa\x01A\x02"}, + {"encoding/base64", "\xa0\x01ZA\x02"}, + {"encoding/binary", "t\x86\x01\f(\r\x05"}, + {"encoding/csv", "\x02\x01q\x03\x83\x01D\x13\x02"}, + {"encoding/gob", "\x02f\x05\a\x03g\x1c\v\x01\x03\x1d\b\x12\x01\x10\x02"}, + {"encoding/hex", "t\x03\x83\x01A\x03"}, + {"encoding/json", "\x03\x01d\x04\b\x03\x83\x01\f(\r\x02\x01\x02\x11\x01\x01\x02"}, + {"encoding/pem", "\x03i\b\x86\x01A\x03"}, + {"encoding/xml", "\x02\x01e\f\x03\x83\x014\x05\n\x01\x02\x11\x02"}, + {"errors", "\xd0\x01\x85\x01"}, + {"expvar", "qLA\b\v\x15\r\b\x02\x03\x01\x12"}, + {"flag", "h\f\x03\x83\x01,\b\x05\b\x02\x01\x11"}, + {"fmt", "tF'\x19\f \b\r\x02\x03\x13"}, + {"go/ast", "\x03\x01s\x0f\x01s\x03)\b\r\x02\x01\x13\x02"}, + {"go/build", "\x02\x01q\x03\x01\x02\x02\b\x02\x01\x17\x1f\x04\x02\b\x1c\x13\x01+\x01\x04\x01\a\b\x02\x01\x13\x02\x02"}, + {"go/build/constraint", "t\xc9\x01\x01\x13\x02"}, + {"go/constant", "w\x10\x7f\x01\x024\x01\x02\x13"}, + {"go/doc", "\x04s\x01\x05\n=61\x10\x02\x01\x13\x02"}, + {"go/doc/comment", "\x03t\xc4\x01\x01\x01\x01\x13\x02"}, + {"go/format", "\x03t\x01\f\x01\x02sD"}, + {"go/importer", "y\a\x01\x02\x04\x01r9"}, + {"go/internal/gccgoimporter", "\x02\x01^\x13\x03\x04\f\x01p\x02,\x01\x05\x11\x01\r\b"}, + {"go/internal/gcimporter", "\x02u\x10\x010\x05\r0,\x15\x03\x02"}, + {"go/internal/scannerhooks", "\x87\x01"}, + {"go/internal/srcimporter", "w\x01\x01\v\x03\x01r,\x01\x05\x12\x02\x15"}, + {"go/parser", "\x03q\x03\x01\x02\b\x04\x01s\x01+\x06\x12"}, + {"go/printer", "w\x01\x02\x03\ns\f \x15\x02\x01\x02\f\x05\x02"}, + {"go/scanner", "\x03t\v\x05s2\x10\x01\x14\x02"}, + {"go/token", "\x04s\x86\x01>\x02\x03\x01\x10\x02"}, + {"go/types", "\x03\x01\x06j\x03\x01\x03\t\x03\x024\x063\x04\x03\t \x06\a\b\x01\x01\x01\x02\x01\x10\x02\x02"}, + {"go/version", "\xc2\x01|"}, + {"hash", "\xfa\x01"}, + {"hash/adler32", "t\x16\x16"}, + {"hash/crc32", "t\x16\x16\x15\x8b\x01\x01\x14"}, + {"hash/crc64", "t\x16\x16\xa0\x01"}, + {"hash/fnv", "t\x16\x16i"}, + {"hash/maphash", "\x8a\x01\x11<~"}, + {"html", "\xbe\x02\x02\x13"}, + {"html/template", "\x03n\x06\x19-=\x01\n!\x05\x01\x02\x03\f\x01\x02\r\x01\x03\x02"}, + {"image", "\x02r\x1fg\x0f4\x03\x01"}, {"image/color", ""}, - {"image/color/palette", "\x92\x01"}, - {"image/draw", "\x91\x01\x01\x04"}, - {"image/gif", "\x02\x01\x05k\x03\x1b\x01\x01\x01\vZ\x0f"}, - {"image/internal/imageutil", "\x91\x01"}, - {"image/jpeg", "\x02q\x1e\x01\x04c"}, - {"image/png", "\x02\ac\n\x13\x02\x06\x01gC"}, - {"index/suffixarray", "\x03i\a\x86\x01\f+\n\x01"}, - {"internal/abi", "\xbb\x01\x98\x01"}, - {"internal/asan", "\xd3\x02"}, - {"internal/bisect", "\xb2\x02\r\x01"}, - {"internal/buildcfg", "vHg\x06\x02\x05\n\x01"}, - {"internal/bytealg", "\xb4\x01\x9f\x01"}, + {"image/color/palette", "\x93\x01"}, + {"image/draw", "\x92\x01\x01\x04"}, + {"image/gif", "\x02\x01\x05l\x03\x1b\x01\x01\x01\vZ\x0f"}, + {"image/internal/imageutil", "\x92\x01"}, + {"image/jpeg", "\x02r\x1e\x01\x04c"}, + {"image/png", "\x02\ad\n\x13\x02\x06\x01gC"}, + {"index/suffixarray", "\x03j\a\x86\x01\f+\n\x01"}, + {"internal/abi", "\xbc\x01\x99\x01"}, + {"internal/asan", "\xd5\x02"}, + {"internal/bisect", "\xb3\x02\r\x01"}, + {"internal/buildcfg", "wHg\x06\x02\x05\n\x01"}, + {"internal/bytealg", "\xb5\x01\xa0\x01"}, {"internal/byteorder", ""}, {"internal/cfg", ""}, - {"internal/cgrouptest", "v[T\x06\x0f\x02\x01\x04\x01"}, - {"internal/chacha8rand", "\x9f\x01\x15\a\x98\x01"}, + {"internal/cgrouptest", "w[T\x06\x0f\x02\x01\x04\x01"}, + {"internal/chacha8rand", "\xa0\x01\x15\a\x99\x01"}, {"internal/copyright", ""}, {"internal/coverage", ""}, {"internal/coverage/calloc", ""}, - {"internal/coverage/cfile", "p\x06\x17\x17\x01\x02\x01\x01\x01\x01\x01\x01\x01\"\x02',\x06\a\n\x01\x03\r\x06"}, - {"internal/coverage/cformat", "\x04r.\x04Q\v6\x01\x02\r"}, - {"internal/coverage/cmerge", "v.a"}, - {"internal/coverage/decodecounter", "l\n.\v\x02H,\x17\x17"}, - {"internal/coverage/decodemeta", "\x02j\n\x17\x17\v\x02H,"}, - {"internal/coverage/encodecounter", "\x02j\n.\f\x01\x02F\v!\x15"}, - {"internal/coverage/encodemeta", "\x02\x01i\n\x13\x04\x17\r\x02F,."}, - {"internal/coverage/pods", "\x04r.\x81\x01\x06\x05\n\x02\x01"}, - {"internal/coverage/rtcov", "\xd3\x02"}, - {"internal/coverage/slicereader", "l\n\x83\x01Z"}, - {"internal/coverage/slicewriter", "v\x83\x01"}, - {"internal/coverage/stringtab", "v9\x04F"}, + {"internal/coverage/cfile", "q\x06\x17\x17\x01\x02\x01\x01\x01\x01\x01\x01\x01\"\x02',\x06\a\n\x01\x03\x0e\x06"}, + {"internal/coverage/cformat", "\x04s.\x04Q\v6\x01\x02\x0e"}, + {"internal/coverage/cmerge", "w.a"}, + {"internal/coverage/decodecounter", "m\n.\v\x02H,\x17\x18"}, + {"internal/coverage/decodemeta", "\x02k\n\x17\x17\v\x02H,"}, + {"internal/coverage/encodecounter", "\x02k\n.\f\x01\x02F\v!\x15"}, + {"internal/coverage/encodemeta", "\x02\x01j\n\x13\x04\x17\r\x02F,/"}, + {"internal/coverage/pods", "\x04s.\x81\x01\x06\x05\n\x02\x01"}, + {"internal/coverage/rtcov", "\xd5\x02"}, + {"internal/coverage/slicereader", "m\n\x83\x01["}, + {"internal/coverage/slicewriter", "w\x83\x01"}, + {"internal/coverage/stringtab", "w9\x04F"}, {"internal/coverage/test", ""}, {"internal/coverage/uleb128", ""}, - {"internal/cpu", "\xd3\x02"}, - {"internal/dag", "\x04r\xc4\x01\x03"}, - {"internal/diff", "\x03s\xc5\x01\x02"}, - {"internal/exportdata", "\x02\x01p\x03\x02e\x1c,\x01\x05\x11\x01\x02"}, - {"internal/filepathlite", "s+B\x1a@"}, - {"internal/fmtsort", "\x04\xa9\x02\r"}, - {"internal/fuzz", "\x03\nG\x18\x04\x03\x03\x01\f\x036=\f\x03\x1d\x01\x05\x02\x05\n\x01\x02\x01\x01\f\x04\x02"}, + {"internal/cpu", "\xd5\x02"}, + {"internal/dag", "\x04s\xc4\x01\x03"}, + {"internal/diff", "\x03t\xc5\x01\x02"}, + {"internal/exportdata", "\x02\x01q\x03\x02e\x1c,\x01\x05\x11\x01\x02"}, + {"internal/filepathlite", "t+B\x1a@"}, + {"internal/fmtsort", "\x04\xaa\x02\r"}, + {"internal/fuzz", "\x03\nH\x18\x04\x03\x03\x01\f\x036=\f\x03\x1d\x01\x05\x02\x05\n\x01\x02\x01\x01\r\x04\x02"}, {"internal/goarch", ""}, - {"internal/godebug", "\x9c\x01!\x82\x01\x01\x13"}, + {"internal/godebug", "\x9d\x01!\x82\x01\x01\x14"}, {"internal/godebugs", ""}, {"internal/goexperiment", ""}, {"internal/goos", ""}, - {"internal/goroot", "\xa5\x02\x01\x05\x12\x02"}, + {"internal/goroot", "\xa6\x02\x01\x05\x12\x02"}, {"internal/gover", "\x04"}, {"internal/goversion", ""}, - {"internal/lazyregexp", "\xa5\x02\v\r\x02"}, - {"internal/lazytemplate", "\xf9\x01,\x18\x02\f"}, - {"internal/msan", "\xd3\x02"}, + {"internal/lazyregexp", "\xa6\x02\v\r\x02"}, + {"internal/lazytemplate", "\xfa\x01,\x18\x02\r"}, + {"internal/msan", "\xd5\x02"}, {"internal/nettrace", ""}, - {"internal/obscuretestdata", "k\x8e\x01,"}, - {"internal/oserror", "s"}, - {"internal/pkgbits", "\x03Q\x18\a\x03\x04\fs\r\x1f\r\n\x01"}, + {"internal/obscuretestdata", "l\x8e\x01,"}, + {"internal/oserror", "t"}, + {"internal/pkgbits", "\x03R\x18\a\x03\x04\fs\r\x1f\r\n\x01"}, {"internal/platform", ""}, - {"internal/poll", "sl\x05\x159\r\x01\x01\f\x06"}, - {"internal/profile", "\x03\x04l\x03\x83\x017\n\x01\x01\x01\x10"}, + {"internal/poll", "tl\x05\x159\r\x01\x01\r\x06"}, + {"internal/profile", "\x03\x04m\x03\x83\x017\n\x01\x01\x01\x11"}, {"internal/profilerecord", ""}, - {"internal/race", "\x9a\x01\xb9\x01"}, - {"internal/reflectlite", "\x9a\x01!;\x16"}, - {"vendor/golang.org/x/text/unicode/norm", "l\n\x83\x01F\x12\x11"}, - {"weak", "\x9a\x01\x98\x01!"}, + {"vendor/golang.org/x/crypto/internal/alias", "\xd5\x02"}, + {"vendor/golang.org/x/crypto/internal/poly1305", "X\x15\x9c\x01"}, + {"vendor/golang.org/x/net/dns/dnsmessage", "t\xc7\x01"}, + {"vendor/golang.org/x/net/http/httpguts", "\x90\x02\x14\x1a\x15\r"}, + {"vendor/golang.org/x/net/http/httpproxy", "t\x03\x99\x01\x10\x05\x01\x18\x15\r"}, + {"vendor/golang.org/x/net/http2/hpack", "\x03q\x03\x83\x01F"}, + {"vendor/golang.org/x/net/idna", "w\x8f\x018\x15\x10\x02\x01"}, + {"vendor/golang.org/x/net/nettest", "\x03j\a\x03\x83\x01\x11\x05\x16\x01\f\n\x01\x02\x02\x01\f"}, + {"vendor/golang.org/x/sys/cpu", "\xa6\x02\r\n\x01\x17"}, + {"vendor/golang.org/x/text/secure/bidirule", "t\xdf\x01\x11\x01"}, + {"vendor/golang.org/x/text/transform", "\x03q\x86\x01Y"}, + {"vendor/golang.org/x/text/unicode/bidi", "\x03\bl\x87\x01>\x17"}, + {"vendor/golang.org/x/text/unicode/norm", "m\n\x83\x01F\x13\x11"}, + {"weak", "\x9b\x01\x98\x01\""}, } // bootstrap is the list of bootstrap packages extracted from cmd/dist. diff --git a/src/brats/vendor/golang.org/x/tools/internal/stdlib/manifest.go b/src/brats/vendor/golang.org/x/tools/internal/stdlib/manifest.go index f1e24625a7..33e4f505f3 100644 --- a/src/brats/vendor/golang.org/x/tools/internal/stdlib/manifest.go +++ b/src/brats/vendor/golang.org/x/tools/internal/stdlib/manifest.go @@ -626,7 +626,7 @@ var PackageSymbols = map[string][]Symbol{ {"PublicKey", Type, 0, ""}, {"PublicKey.Parameters", Field, 0, ""}, {"PublicKey.Y", Field, 0, ""}, - {"Sign", Func, 0, "func(rand io.Reader, priv *PrivateKey, hash []byte) (r *big.Int, s *big.Int, err error)"}, + {"Sign", Func, 0, "func(random io.Reader, priv *PrivateKey, hash []byte) (r *big.Int, s *big.Int, err error)"}, {"Verify", Func, 0, "func(pub *PublicKey, hash []byte, r *big.Int, s *big.Int) bool"}, }, "crypto/ecdh": { @@ -674,7 +674,7 @@ var PackageSymbols = map[string][]Symbol{ {"(PublicKey).Params", Method, 0, ""}, {"(PublicKey).ScalarBaseMult", Method, 0, ""}, {"(PublicKey).ScalarMult", Method, 0, ""}, - {"GenerateKey", Func, 0, "func(c elliptic.Curve, rand io.Reader) (*PrivateKey, error)"}, + {"GenerateKey", Func, 0, "func(c elliptic.Curve, r io.Reader) (*PrivateKey, error)"}, {"ParseRawPrivateKey", Func, 25, "func(curve elliptic.Curve, data []byte) (*PrivateKey, error)"}, {"ParseUncompressedPublicKey", Func, 25, "func(curve elliptic.Curve, data []byte) (*PublicKey, error)"}, {"PrivateKey", Type, 0, ""}, @@ -685,7 +685,7 @@ var PackageSymbols = map[string][]Symbol{ {"PublicKey.X", Field, 0, ""}, {"PublicKey.Y", Field, 0, ""}, {"Sign", Func, 0, "func(rand io.Reader, priv *PrivateKey, hash []byte) (r *big.Int, s *big.Int, err error)"}, - {"SignASN1", Func, 15, "func(rand io.Reader, priv *PrivateKey, hash []byte) ([]byte, error)"}, + {"SignASN1", Func, 15, "func(r io.Reader, priv *PrivateKey, hash []byte) ([]byte, error)"}, {"Verify", Func, 0, "func(pub *PublicKey, hash []byte, r *big.Int, s *big.Int) bool"}, {"VerifyASN1", Func, 15, "func(pub *PublicKey, hash []byte, sig []byte) bool"}, }, @@ -696,7 +696,7 @@ var PackageSymbols = map[string][]Symbol{ {"(PrivateKey).Seed", Method, 13, ""}, {"(PrivateKey).Sign", Method, 13, ""}, {"(PublicKey).Equal", Method, 15, ""}, - {"GenerateKey", Func, 13, "func(rand io.Reader) (PublicKey, PrivateKey, error)"}, + {"GenerateKey", Func, 13, "func(random io.Reader) (PublicKey, PrivateKey, error)"}, {"NewKeyFromSeed", Func, 13, "func(seed []byte) PrivateKey"}, {"Options", Type, 20, ""}, {"Options.Context", Field, 20, ""}, @@ -745,7 +745,9 @@ var PackageSymbols = map[string][]Symbol{ }, "crypto/fips140": { {"Enabled", Func, 24, "func() bool"}, + {"Enforced", Func, 26, "func() bool"}, {"Version", Func, 26, "func() string"}, + {"WithoutEnforcement", Func, 26, "func(f func())"}, }, "crypto/hkdf": { {"Expand", Func, 24, "func[H hash.Hash](h func() H, pseudorandomKey []byte, info string, keyLength int) ([]byte, error)"}, @@ -756,6 +758,54 @@ var PackageSymbols = map[string][]Symbol{ {"Equal", Func, 1, "func(mac1 []byte, mac2 []byte) bool"}, {"New", Func, 0, "func(h func() hash.Hash, key []byte) hash.Hash"}, }, + "crypto/hpke": { + {"(*Recipient).Export", Method, 26, ""}, + {"(*Recipient).Open", Method, 26, ""}, + {"(*Sender).Export", Method, 26, ""}, + {"(*Sender).Seal", Method, 26, ""}, + {"(AEAD).ID", Method, 26, ""}, + {"(KDF).ID", Method, 26, ""}, + {"(KEM).DeriveKeyPair", Method, 26, ""}, + {"(KEM).GenerateKey", Method, 26, ""}, + {"(KEM).ID", Method, 26, ""}, + {"(KEM).NewPrivateKey", Method, 26, ""}, + {"(KEM).NewPublicKey", Method, 26, ""}, + {"(PrivateKey).Bytes", Method, 26, ""}, + {"(PrivateKey).KEM", Method, 26, ""}, + {"(PrivateKey).PublicKey", Method, 26, ""}, + {"(PublicKey).Bytes", Method, 26, ""}, + {"(PublicKey).KEM", Method, 26, ""}, + {"AES128GCM", Func, 26, "func() AEAD"}, + {"AES256GCM", Func, 26, "func() AEAD"}, + {"ChaCha20Poly1305", Func, 26, "func() AEAD"}, + {"DHKEM", Func, 26, "func(curve ecdh.Curve) KEM"}, + {"ExportOnly", Func, 26, "func() AEAD"}, + {"HKDFSHA256", Func, 26, "func() KDF"}, + {"HKDFSHA384", Func, 26, "func() KDF"}, + {"HKDFSHA512", Func, 26, "func() KDF"}, + {"MLKEM1024", Func, 26, "func() KEM"}, + {"MLKEM1024P384", Func, 26, "func() KEM"}, + {"MLKEM768", Func, 26, "func() KEM"}, + {"MLKEM768P256", Func, 26, "func() KEM"}, + {"MLKEM768X25519", Func, 26, "func() KEM"}, + {"NewAEAD", Func, 26, "func(id uint16) (AEAD, error)"}, + {"NewDHKEMPrivateKey", Func, 26, "func(priv ecdh.KeyExchanger) (PrivateKey, error)"}, + {"NewDHKEMPublicKey", Func, 26, "func(pub *ecdh.PublicKey) (PublicKey, error)"}, + {"NewHybridPrivateKey", Func, 26, "func(pq crypto.Decapsulator, t ecdh.KeyExchanger) (PrivateKey, error)"}, + {"NewHybridPublicKey", Func, 26, "func(pq crypto.Encapsulator, t *ecdh.PublicKey) (PublicKey, error)"}, + {"NewKDF", Func, 26, "func(id uint16) (KDF, error)"}, + {"NewKEM", Func, 26, "func(id uint16) (KEM, error)"}, + {"NewMLKEMPrivateKey", Func, 26, "func(priv crypto.Decapsulator) (PrivateKey, error)"}, + {"NewMLKEMPublicKey", Func, 26, "func(pub crypto.Encapsulator) (PublicKey, error)"}, + {"NewRecipient", Func, 26, "func(enc []byte, k PrivateKey, kdf KDF, aead AEAD, info []byte) (*Recipient, error)"}, + {"NewSender", Func, 26, "func(pk PublicKey, kdf KDF, aead AEAD, info []byte) (enc []byte, s *Sender, err error)"}, + {"Open", Func, 26, "func(k PrivateKey, kdf KDF, aead AEAD, info []byte, ciphertext []byte) ([]byte, error)"}, + {"Recipient", Type, 26, ""}, + {"SHAKE128", Func, 26, "func() KDF"}, + {"SHAKE256", Func, 26, "func() KDF"}, + {"Seal", Func, 26, "func(pk PublicKey, kdf KDF, aead AEAD, info []byte, plaintext []byte) ([]byte, error)"}, + {"Sender", Type, 26, ""}, + }, "crypto/md5": { {"BlockSize", Const, 0, ""}, {"New", Func, 0, "func() hash.Hash"}, @@ -801,7 +851,7 @@ var PackageSymbols = map[string][]Symbol{ }, "crypto/rand": { {"Int", Func, 0, "func(rand io.Reader, max *big.Int) (n *big.Int, err error)"}, - {"Prime", Func, 0, "func(rand io.Reader, bits int) (*big.Int, error)"}, + {"Prime", Func, 0, "func(r io.Reader, bits int) (*big.Int, error)"}, {"Read", Func, 0, "func(b []byte) (n int, err error)"}, {"Reader", Var, 0, ""}, {"Text", Func, 24, "func() string"}, @@ -865,7 +915,7 @@ var PackageSymbols = map[string][]Symbol{ {"PublicKey.E", Field, 0, ""}, {"PublicKey.N", Field, 0, ""}, {"SignPKCS1v15", Func, 0, "func(random io.Reader, priv *PrivateKey, hash crypto.Hash, hashed []byte) ([]byte, error)"}, - {"SignPSS", Func, 2, "func(rand io.Reader, priv *PrivateKey, hash crypto.Hash, digest []byte, opts *PSSOptions) ([]byte, error)"}, + {"SignPSS", Func, 2, "func(random io.Reader, priv *PrivateKey, hash crypto.Hash, digest []byte, opts *PSSOptions) ([]byte, error)"}, {"VerifyPKCS1v15", Func, 0, "func(pub *PublicKey, hash crypto.Hash, hashed []byte, sig []byte) error"}, {"VerifyPSS", Func, 2, "func(pub *PublicKey, hash crypto.Hash, digest []byte, sig []byte, opts *PSSOptions) error"}, }, @@ -1158,6 +1208,8 @@ var PackageSymbols = map[string][]Symbol{ {"RequestClientCert", Const, 0, ""}, {"RequireAndVerifyClientCert", Const, 0, ""}, {"RequireAnyClientCert", Const, 0, ""}, + {"SecP256r1MLKEM768", Const, 26, ""}, + {"SecP384r1MLKEM1024", Const, 26, ""}, {"Server", Func, 0, "func(conn net.Conn, config *Config) *Conn"}, {"SessionState", Type, 21, ""}, {"SessionState.EarlyData", Field, 21, ""}, @@ -1222,6 +1274,7 @@ var PackageSymbols = map[string][]Symbol{ {"(*RevocationList).CheckSignatureFrom", Method, 19, ""}, {"(CertificateInvalidError).Error", Method, 0, ""}, {"(ConstraintViolationError).Error", Method, 0, ""}, + {"(ExtKeyUsage).OID", Method, 26, ""}, {"(ExtKeyUsage).String", Method, 26, ""}, {"(HostnameError).Error", Method, 0, ""}, {"(InsecureAlgorithmError).Error", Method, 6, ""}, @@ -1380,6 +1433,7 @@ var PackageSymbols = map[string][]Symbol{ {"NoValidChains", Const, 24, ""}, {"NotAuthorizedToSign", Const, 0, ""}, {"OID", Type, 22, ""}, + {"OIDFromASN1OID", Func, 26, "func(asn1OID asn1.ObjectIdentifier) (OID, error)"}, {"OIDFromInts", Func, 22, "func(oid []uint64) (OID, error)"}, {"PEMCipher", Type, 1, ""}, {"PEMCipher3DES", Const, 1, ""}, @@ -1690,10 +1744,6 @@ var PackageSymbols = map[string][]Symbol{ {"(Rows).Next", Method, 0, ""}, {"(RowsAffected).LastInsertId", Method, 0, ""}, {"(RowsAffected).RowsAffected", Method, 0, ""}, - {"(RowsColumnScanner).Close", Method, 26, ""}, - {"(RowsColumnScanner).Columns", Method, 26, ""}, - {"(RowsColumnScanner).Next", Method, 26, ""}, - {"(RowsColumnScanner).ScanColumn", Method, 26, ""}, {"(RowsColumnTypeDatabaseTypeName).Close", Method, 8, ""}, {"(RowsColumnTypeDatabaseTypeName).ColumnTypeDatabaseTypeName", Method, 8, ""}, {"(RowsColumnTypeDatabaseTypeName).Columns", Method, 8, ""}, @@ -1765,7 +1815,6 @@ var PackageSymbols = map[string][]Symbol{ {"ResultNoRows", Var, 0, ""}, {"Rows", Type, 0, ""}, {"RowsAffected", Type, 0, ""}, - {"RowsColumnScanner", Type, 26, ""}, {"RowsColumnTypeDatabaseTypeName", Type, 8, ""}, {"RowsColumnTypeLength", Type, 8, ""}, {"RowsColumnTypeNullable", Type, 8, ""}, @@ -17367,6 +17416,9 @@ var PackageSymbols = map[string][]Symbol{ {"Testing", Func, 21, "func() bool"}, {"Verbose", Func, 1, "func() bool"}, }, + "testing/cryptotest": { + {"SetGlobalRandom", Func, 26, "func(t *testing.T, seed uint64)"}, + }, "testing/fstest": { {"(MapFS).Glob", Method, 16, ""}, {"(MapFS).Lstat", Method, 25, ""}, diff --git a/src/brats/vendor/modules.txt b/src/brats/vendor/modules.txt index b2c70c1c1b..ae6e4daccc 100644 --- a/src/brats/vendor/modules.txt +++ b/src/brats/vendor/modules.txt @@ -18,10 +18,10 @@ github.com/google/go-cmp/cmp/internal/diff github.com/google/go-cmp/cmp/internal/flags github.com/google/go-cmp/cmp/internal/function github.com/google/go-cmp/cmp/internal/value -# github.com/google/pprof v0.0.0-20251114195745-4902fdda35c8 +# github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 ## explicit; go 1.24.0 github.com/google/pprof/profile -# github.com/onsi/ginkgo/v2 v2.27.4 +# github.com/onsi/ginkgo/v2 v2.27.5 ## explicit; go 1.23.0 github.com/onsi/ginkgo/v2 github.com/onsi/ginkgo/v2/config @@ -68,7 +68,7 @@ go.yaml.in/yaml/v3 # golang.org/x/mod v0.32.0 ## explicit; go 1.24.0 golang.org/x/mod/semver -# golang.org/x/net v0.48.0 +# golang.org/x/net v0.49.0 ## explicit; go 1.24.0 golang.org/x/net/html golang.org/x/net/html/atom @@ -98,7 +98,7 @@ golang.org/x/text/internal/utf8internal golang.org/x/text/language golang.org/x/text/runes golang.org/x/text/transform -# golang.org/x/tools v0.40.0 +# golang.org/x/tools v0.41.0 ## explicit; go 1.24.0 golang.org/x/tools/cover golang.org/x/tools/go/ast/edge From 19cacd8bae34f2a5e3379c77dac5449eea1d3731 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 17 Jan 2026 10:04:23 +0000 Subject: [PATCH 25/32] Bump gems --- src/Gemfile.lock | 10 +++++----- src/vendor/cache/async-2.35.1.gem | 3 --- src/vendor/cache/async-2.35.3.gem | 3 +++ src/vendor/cache/async-http-0.93.0.gem | 3 --- src/vendor/cache/async-http-0.94.0.gem | 3 +++ src/vendor/cache/parser-3.3.10.0.gem | 3 --- src/vendor/cache/parser-3.3.10.1.gem | 3 +++ src/vendor/cache/prism-1.7.0.gem | 3 --- src/vendor/cache/prism-1.8.0.gem | 3 +++ src/vendor/cache/protocol-http2-0.23.0.gem | 3 --- src/vendor/cache/protocol-http2-0.24.0.gem | 3 +++ 11 files changed, 20 insertions(+), 20 deletions(-) delete mode 100644 src/vendor/cache/async-2.35.1.gem create mode 100644 src/vendor/cache/async-2.35.3.gem delete mode 100644 src/vendor/cache/async-http-0.93.0.gem create mode 100644 src/vendor/cache/async-http-0.94.0.gem delete mode 100644 src/vendor/cache/parser-3.3.10.0.gem create mode 100644 src/vendor/cache/parser-3.3.10.1.gem delete mode 100644 src/vendor/cache/prism-1.7.0.gem create mode 100644 src/vendor/cache/prism-1.8.0.gem delete mode 100644 src/vendor/cache/protocol-http2-0.23.0.gem create mode 100644 src/vendor/cache/protocol-http2-0.24.0.gem diff --git a/src/Gemfile.lock b/src/Gemfile.lock index e7d1885839..22004b6969 100644 --- a/src/Gemfile.lock +++ b/src/Gemfile.lock @@ -85,13 +85,13 @@ GEM addressable (2.8.8) public_suffix (>= 2.0.2, < 8.0) ast (2.4.3) - async (2.35.1) + async (2.35.3) console (~> 1.29) fiber-annotation io-event (~> 1.11) metrics (~> 0.12) traces (~> 0.18) - async-http (0.93.0) + async-http (0.94.0) async (>= 2.10.2) async-pool (~> 0.11) io-endpoint (~> 0.14) @@ -212,18 +212,18 @@ GEM parallel (1.27.0) parallel_tests (5.5.0) parallel - parser (3.3.10.0) + parser (3.3.10.1) ast (~> 2.4.1) racc pg (1.6.3) - prism (1.7.0) + prism (1.8.0) prometheus-client (4.2.5) base64 protocol-hpack (1.5.1) protocol-http (0.58.0) protocol-http1 (0.36.0) protocol-http (~> 0.58) - protocol-http2 (0.23.0) + protocol-http2 (0.24.0) protocol-hpack (~> 1.4) protocol-http (~> 0.47) protocol-url (0.4.0) diff --git a/src/vendor/cache/async-2.35.1.gem b/src/vendor/cache/async-2.35.1.gem deleted file mode 100644 index b9cffd38d0..0000000000 --- a/src/vendor/cache/async-2.35.1.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5232b76ed07db1b071eab1dc9e61a7db617034f37c42a5f4b59b3c5068b14145 -size 63488 diff --git a/src/vendor/cache/async-2.35.3.gem b/src/vendor/cache/async-2.35.3.gem new file mode 100644 index 0000000000..58b0c7e61d --- /dev/null +++ b/src/vendor/cache/async-2.35.3.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bfc75ac10182d0485b1394a50803b827f65e73f9e3ebe0aeaa4ecd770238271 +size 64000 diff --git a/src/vendor/cache/async-http-0.93.0.gem b/src/vendor/cache/async-http-0.93.0.gem deleted file mode 100644 index 8309b02228..0000000000 --- a/src/vendor/cache/async-http-0.93.0.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:04ff9aee39d981ebccf33b70dc6c69e39f60ea4a9199d1e6378afa09eacd53ec -size 39936 diff --git a/src/vendor/cache/async-http-0.94.0.gem b/src/vendor/cache/async-http-0.94.0.gem new file mode 100644 index 0000000000..87d44961fa --- /dev/null +++ b/src/vendor/cache/async-http-0.94.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:479dc4a11c078aff7e054a729fc79fef7d0c28ca26bfe81a4d125672b28759ea +size 39936 diff --git a/src/vendor/cache/parser-3.3.10.0.gem b/src/vendor/cache/parser-3.3.10.0.gem deleted file mode 100644 index 9a6c9f1717..0000000000 --- a/src/vendor/cache/parser-3.3.10.0.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ce3587fa5cc55a88c4ba5b2b37621b3329aadf5728f9eafa36bbd121462aabd6 -size 911872 diff --git a/src/vendor/cache/parser-3.3.10.1.gem b/src/vendor/cache/parser-3.3.10.1.gem new file mode 100644 index 0000000000..75e6b4af0e --- /dev/null +++ b/src/vendor/cache/parser-3.3.10.1.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06f6a725d2cd91e5e7f2b7c32ba143631e1f7c8ae2fb918fc4cebec187e6a688 +size 911872 diff --git a/src/vendor/cache/prism-1.7.0.gem b/src/vendor/cache/prism-1.7.0.gem deleted file mode 100644 index 0063d890ca..0000000000 --- a/src/vendor/cache/prism-1.7.0.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10062f734bf7985c8424c44fac382ac04a58124ea3d220ec3ba9fe4f2da65103 -size 646656 diff --git a/src/vendor/cache/prism-1.8.0.gem b/src/vendor/cache/prism-1.8.0.gem new file mode 100644 index 0000000000..6b20476c30 --- /dev/null +++ b/src/vendor/cache/prism-1.8.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84453a16ef5530ea62c5f03ec16b52a459575ad4e7b9c2b360fd8ce2c39c1254 +size 648704 diff --git a/src/vendor/cache/protocol-http2-0.23.0.gem b/src/vendor/cache/protocol-http2-0.23.0.gem deleted file mode 100644 index c6f7a0e3df..0000000000 --- a/src/vendor/cache/protocol-http2-0.23.0.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bb7a782bb24a386cf475bc8cd6190bd28b392fcef943e06c8d8fce06cc3b2ba8 -size 34304 diff --git a/src/vendor/cache/protocol-http2-0.24.0.gem b/src/vendor/cache/protocol-http2-0.24.0.gem new file mode 100644 index 0000000000..d4f031010d --- /dev/null +++ b/src/vendor/cache/protocol-http2-0.24.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65327a019b7e36d2774e94050bf57a43bb60212775d2fcf02ae1d2ed4f01ef28 +size 36864 From fa012d8e29cd325311750f89e8368620c8c374f1 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 17 Jan 2026 10:35:22 +0000 Subject: [PATCH 26/32] Updating blob davcli/davcli-0.0.452-linux-amd64 -> davcli/davcli-0.0.453-linux-amd64 --- config/blobs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index 10baeed894..2935acb7a4 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -6,10 +6,10 @@ bosh-gcscli/bosh-gcscli-0.0.353-linux-amd64: size: 45487034 object_id: d7740299-8ccc-47db-7bfb-1c68205f5ecd sha: sha256:12e16810d5160edb06788f68d45d4f4ea71b6df723d04c7def6eac362249ff0e -davcli/davcli-0.0.452-linux-amd64: +davcli/davcli-0.0.453-linux-amd64: size: 10167205 - object_id: 9bae12d5-e077-4850-74ad-b22cf76ecfe5 - sha: sha256:b0764a551ba670c260154be31d76990aa566a509761cc100d608492f38f32727 + object_id: a8d700cd-5dc9-4298-5c99-df27b16de83e + sha: sha256:4b552a6d64e3f13bd54d9f279b515f8fefd6bd0d369042b5fb5e54b1b8b37d61 mysql/mariadb-connector-c-3.4.8-src.tar.gz: size: 1380411 object_id: 31e2e6c6-eefe-4512-68bd-757a7c27b044 From 0ce40b8c2c09e56dc503ab76c284ac325393e501 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 17 Jan 2026 10:37:02 +0000 Subject: [PATCH 27/32] Updating blob verify-multidigest/verify-multidigest-0.0.581-linux-amd64 -> verify-multidigest/verify-multidigest-0.0.582-linux-amd64 --- config/blobs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index 2935acb7a4..d61e929e69 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -34,7 +34,7 @@ s3cli/s3cli-0.0.382-linux-amd64: size: 17092710 object_id: f2dfa879-daea-42d8-76a9-c7cd70c6117b sha: sha256:6fdcdf596ee83c5d87f61793fa80beb9a14e180e69a1c96745591df869092264 -verify-multidigest/verify-multidigest-0.0.581-linux-amd64: - size: 4153999 - object_id: 2e89a728-ad3f-4856-49b3-edb6698a4fcd - sha: sha256:1d57c7eb44f186baa101b60572f9f633070bd826215f3dd5aa052d687992ead6 +verify-multidigest/verify-multidigest-0.0.582-linux-amd64: + size: 4154007 + object_id: 03fbb65a-3e80-45eb-57af-533009a024bf + sha: sha256:40f83efbba9560c05d0cc89839d56ad89b0a1112473a4e3d69637706c67812a0 From f5204bd48010d7a0b0ffaf3a652e05984d55958c Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 17 Jan 2026 10:50:21 +0000 Subject: [PATCH 28/32] Updating blob bosh-gcscli/bosh-gcscli-0.0.353-linux-amd64 -> bosh-gcscli/bosh-gcscli-0.0.354-linux-amd64 --- config/blobs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index d61e929e69..d4dda4bab6 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -2,10 +2,10 @@ azure-storage-cli/azure-storage-cli-0.0.206-linux-amd64: size: 10466986 object_id: a18a6da5-4935-4d08-7dc3-d10b5435bfae sha: sha256:c4f788b36a889e2b59eaa743cd7895676e56d9337ff908c84c852161d8ee586c -bosh-gcscli/bosh-gcscli-0.0.353-linux-amd64: - size: 45487034 - object_id: d7740299-8ccc-47db-7bfb-1c68205f5ecd - sha: sha256:12e16810d5160edb06788f68d45d4f4ea71b6df723d04c7def6eac362249ff0e +bosh-gcscli/bosh-gcscli-0.0.354-linux-amd64: + size: 45487050 + object_id: 13a88d25-5d3c-4e4f-6297-f8c5ec7ee7f9 + sha: sha256:bea12b7d4ef67ca6d23b24e477b4ea1506e350dfe6eeec0a14b976bca1720af0 davcli/davcli-0.0.453-linux-amd64: size: 10167205 object_id: a8d700cd-5dc9-4298-5c99-df27b16de83e From 74ab5ff997802e287d20700479e8e35dd99cb140 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 17 Jan 2026 12:14:22 +0000 Subject: [PATCH 29/32] Updating blob azure-storage-cli/azure-storage-cli-0.0.206-linux-amd64 -> azure-storage-cli/azure-storage-cli-0.0.207-linux-amd64 --- config/blobs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index d4dda4bab6..1b51fbbd88 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -1,7 +1,7 @@ -azure-storage-cli/azure-storage-cli-0.0.206-linux-amd64: - size: 10466986 - object_id: a18a6da5-4935-4d08-7dc3-d10b5435bfae - sha: sha256:c4f788b36a889e2b59eaa743cd7895676e56d9337ff908c84c852161d8ee586c +azure-storage-cli/azure-storage-cli-0.0.207-linux-amd64: + size: 10457059 + object_id: 37a0dbab-2a5a-45aa-6b60-b26db3ca340e + sha: sha256:ad47d9a4af494d826fea2d289feb6c2dcda34cbf57686d0a10d71c60673ed1ea bosh-gcscli/bosh-gcscli-0.0.354-linux-amd64: size: 45487050 object_id: 13a88d25-5d3c-4e4f-6297-f8c5ec7ee7f9 From 0fe7891b3288fc8764c051b73d11266d999c0823 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 24 Jan 2026 10:14:57 +0000 Subject: [PATCH 30/32] Updating blob davcli/davcli-0.0.453-linux-amd64 -> davcli/davcli-0.0.454-linux-amd64 --- config/blobs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index 1b51fbbd88..623b7e3f69 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -6,10 +6,10 @@ bosh-gcscli/bosh-gcscli-0.0.354-linux-amd64: size: 45487050 object_id: 13a88d25-5d3c-4e4f-6297-f8c5ec7ee7f9 sha: sha256:bea12b7d4ef67ca6d23b24e477b4ea1506e350dfe6eeec0a14b976bca1720af0 -davcli/davcli-0.0.453-linux-amd64: +davcli/davcli-0.0.454-linux-amd64: size: 10167205 - object_id: a8d700cd-5dc9-4298-5c99-df27b16de83e - sha: sha256:4b552a6d64e3f13bd54d9f279b515f8fefd6bd0d369042b5fb5e54b1b8b37d61 + object_id: cdf47d7e-fa68-430a-72d4-dca226dbb7cb + sha: sha256:21bd936d16ecf06e7c1d765e57727c01d8a7dbc270a391db5e9de5608342153c mysql/mariadb-connector-c-3.4.8-src.tar.gz: size: 1380411 object_id: 31e2e6c6-eefe-4512-68bd-757a7c27b044 From 7a63e8477c3a64ca2ed244673d1c0afd29206220 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 24 Jan 2026 10:05:05 +0000 Subject: [PATCH 31/32] Bump gems --- src/Gemfile.lock | 10 +++++----- src/vendor/cache/async-2.35.3.gem | 3 --- src/vendor/cache/async-2.36.0.gem | 3 +++ src/vendor/cache/async-http-0.94.0.gem | 3 --- src/vendor/cache/async-http-0.94.2.gem | 3 +++ src/vendor/cache/protocol-http-0.58.0.gem | 3 --- src/vendor/cache/protocol-http-0.58.1.gem | 3 +++ src/vendor/cache/protocol-http1-0.36.0.gem | 3 --- src/vendor/cache/protocol-http1-0.37.0.gem | 3 +++ src/vendor/cache/puma-7.1.0.gem | 3 --- src/vendor/cache/puma-7.2.0.gem | 3 +++ 11 files changed, 20 insertions(+), 20 deletions(-) delete mode 100644 src/vendor/cache/async-2.35.3.gem create mode 100644 src/vendor/cache/async-2.36.0.gem delete mode 100644 src/vendor/cache/async-http-0.94.0.gem create mode 100644 src/vendor/cache/async-http-0.94.2.gem delete mode 100644 src/vendor/cache/protocol-http-0.58.0.gem create mode 100644 src/vendor/cache/protocol-http-0.58.1.gem delete mode 100644 src/vendor/cache/protocol-http1-0.36.0.gem create mode 100644 src/vendor/cache/protocol-http1-0.37.0.gem delete mode 100644 src/vendor/cache/puma-7.1.0.gem create mode 100644 src/vendor/cache/puma-7.2.0.gem diff --git a/src/Gemfile.lock b/src/Gemfile.lock index 22004b6969..f601d3c9de 100644 --- a/src/Gemfile.lock +++ b/src/Gemfile.lock @@ -85,13 +85,13 @@ GEM addressable (2.8.8) public_suffix (>= 2.0.2, < 8.0) ast (2.4.3) - async (2.35.3) + async (2.36.0) console (~> 1.29) fiber-annotation io-event (~> 1.11) metrics (~> 0.12) traces (~> 0.18) - async-http (0.94.0) + async-http (0.94.2) async (>= 2.10.2) async-pool (~> 0.11) io-endpoint (~> 0.14) @@ -220,8 +220,8 @@ GEM prometheus-client (4.2.5) base64 protocol-hpack (1.5.1) - protocol-http (0.58.0) - protocol-http1 (0.36.0) + protocol-http (0.58.1) + protocol-http1 (0.37.0) protocol-http (~> 0.58) protocol-http2 (0.24.0) protocol-hpack (~> 1.4) @@ -232,7 +232,7 @@ GEM method_source (~> 1.0) reline (>= 0.6.0) public_suffix (7.0.2) - puma (7.1.0) + puma (7.2.0) nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) diff --git a/src/vendor/cache/async-2.35.3.gem b/src/vendor/cache/async-2.35.3.gem deleted file mode 100644 index 58b0c7e61d..0000000000 --- a/src/vendor/cache/async-2.35.3.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6bfc75ac10182d0485b1394a50803b827f65e73f9e3ebe0aeaa4ecd770238271 -size 64000 diff --git a/src/vendor/cache/async-2.36.0.gem b/src/vendor/cache/async-2.36.0.gem new file mode 100644 index 0000000000..4f62c4463b --- /dev/null +++ b/src/vendor/cache/async-2.36.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:090623f4c65706664355c9efa6c7bfb86771a513e65cd681c51cb27747530550 +size 64000 diff --git a/src/vendor/cache/async-http-0.94.0.gem b/src/vendor/cache/async-http-0.94.0.gem deleted file mode 100644 index 87d44961fa..0000000000 --- a/src/vendor/cache/async-http-0.94.0.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:479dc4a11c078aff7e054a729fc79fef7d0c28ca26bfe81a4d125672b28759ea -size 39936 diff --git a/src/vendor/cache/async-http-0.94.2.gem b/src/vendor/cache/async-http-0.94.2.gem new file mode 100644 index 0000000000..97b3f9e7af --- /dev/null +++ b/src/vendor/cache/async-http-0.94.2.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5ca94b337976578904a373833abe5b8dfb466a2946af75c4ae38c409c5c78b2 +size 39936 diff --git a/src/vendor/cache/protocol-http-0.58.0.gem b/src/vendor/cache/protocol-http-0.58.0.gem deleted file mode 100644 index 2240fb9c69..0000000000 --- a/src/vendor/cache/protocol-http-0.58.0.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b77c5799e7a7acd31afaa9fed5c3714fe91ab7746925d66e9e4d92a5c74555fa -size 60928 diff --git a/src/vendor/cache/protocol-http-0.58.1.gem b/src/vendor/cache/protocol-http-0.58.1.gem new file mode 100644 index 0000000000..4acb1a59b9 --- /dev/null +++ b/src/vendor/cache/protocol-http-0.58.1.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d0694aa07cd51ff589c6219f9613c6827aebd5ffdf8fb8a0169254feb0f13fd +size 60928 diff --git a/src/vendor/cache/protocol-http1-0.36.0.gem b/src/vendor/cache/protocol-http1-0.36.0.gem deleted file mode 100644 index 1ea8421c87..0000000000 --- a/src/vendor/cache/protocol-http1-0.36.0.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:057344d2509a59338d0b4bc8f092a52126bb9ed51b76adbb4365f132bbd4ef09 -size 25088 diff --git a/src/vendor/cache/protocol-http1-0.37.0.gem b/src/vendor/cache/protocol-http1-0.37.0.gem new file mode 100644 index 0000000000..a61c66e04f --- /dev/null +++ b/src/vendor/cache/protocol-http1-0.37.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bdd739e28792b341134596f6f5ab21a9d4b395f67bae69e153743eb0e69d123 +size 25088 diff --git a/src/vendor/cache/puma-7.1.0.gem b/src/vendor/cache/puma-7.1.0.gem deleted file mode 100644 index 3b253975fd..0000000000 --- a/src/vendor/cache/puma-7.1.0.gem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e45c10cb124f224d448c98db653a75499794edbecadc440ad616cf50f2fd49dd -size 244224 diff --git a/src/vendor/cache/puma-7.2.0.gem b/src/vendor/cache/puma-7.2.0.gem new file mode 100644 index 0000000000..83e85cd15a --- /dev/null +++ b/src/vendor/cache/puma-7.2.0.gem @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf8ef4ab514a4e6d4554cb4326b2004eba5036ae05cf765cfe51aba9706a72a8 +size 246272 From 5a449f43a51f0ba0c46a5b339b8aef69b6ebd2e5 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sat, 24 Jan 2026 10:42:26 +0000 Subject: [PATCH 32/32] Updating blob bosh-gcscli/bosh-gcscli-0.0.354-linux-amd64 -> bosh-gcscli/bosh-gcscli-0.0.355-linux-amd64 --- config/blobs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/blobs.yml b/config/blobs.yml index 623b7e3f69..c3a50592c2 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -2,10 +2,10 @@ azure-storage-cli/azure-storage-cli-0.0.207-linux-amd64: size: 10457059 object_id: 37a0dbab-2a5a-45aa-6b60-b26db3ca340e sha: sha256:ad47d9a4af494d826fea2d289feb6c2dcda34cbf57686d0a10d71c60673ed1ea -bosh-gcscli/bosh-gcscli-0.0.354-linux-amd64: - size: 45487050 - object_id: 13a88d25-5d3c-4e4f-6297-f8c5ec7ee7f9 - sha: sha256:bea12b7d4ef67ca6d23b24e477b4ea1506e350dfe6eeec0a14b976bca1720af0 +bosh-gcscli/bosh-gcscli-0.0.355-linux-amd64: + size: 45487378 + object_id: 62fd8238-33e7-43b9-7bd1-aad3c6913556 + sha: sha256:87b497dc3627110c040a8ef81bdf20e24c60192855721424cc3bd2fdbda5ce54 davcli/davcli-0.0.454-linux-amd64: size: 10167205 object_id: cdf47d7e-fa68-430a-72d4-dca226dbb7cb