The ci/docker/openstack-cpi-release/Dockerfile currently pins the BOSH CLI version via a hardcoded ENV BOSH_CLI_VERSION variable. Bumping the version requires a Dockerfile commit.
bosh solves this more cleanly:
- A dedicated
build-docker-args task (ci/dockerfiles/integration/build-docker-args.sh) queries the GitHub API for the latest release URLs of all required tools and writes them to docker-build-args/docker-build-args.yml.
- The
oci-build-task step consumes this file via BUILD_ARGS_FILE: docker-build-args/docker-build-args.yml.
- The Dockerfile receives tool URLs via
ARG instead of hardcoded values - version bumps happen automatically without any committed change.
We should adopt the same approach:
- Replace
ENV BOSH_CLI_VERSION with ARG BOSH_CLI_URL in the Dockerfile.
- Add a
build-docker-args task + shell script that resolves the latest BOSH CLI release URL from the GitHub API.
- Wire it into the
create-openstack-cpi-release-docker-image pipeline job before the build-image step.
The same applies to the bosh-google-cpi-release ci/docker/bosh-google-cpi-boshrelease/Dockerfile, which has ENV BOSH_CLI_VERSION=7.10.5 with the same hardcoded-version pattern.
The
ci/docker/openstack-cpi-release/Dockerfilecurrently pins the BOSH CLI version via a hardcodedENV BOSH_CLI_VERSIONvariable. Bumping the version requires a Dockerfile commit.bosh solves this more cleanly:
build-docker-argstask (ci/dockerfiles/integration/build-docker-args.sh) queries the GitHub API for the latest release URLs of all required tools and writes them todocker-build-args/docker-build-args.yml.oci-build-taskstep consumes this file viaBUILD_ARGS_FILE: docker-build-args/docker-build-args.yml.ARGinstead of hardcoded values - version bumps happen automatically without any committed change.We should adopt the same approach:
ENV BOSH_CLI_VERSIONwithARG BOSH_CLI_URLin the Dockerfile.build-docker-argstask + shell script that resolves the latest BOSH CLI release URL from the GitHub API.create-openstack-cpi-release-docker-imagepipeline job before thebuild-imagestep.The same applies to the
bosh-google-cpi-releaseci/docker/bosh-google-cpi-boshrelease/Dockerfile, which hasENV BOSH_CLI_VERSION=7.10.5with the same hardcoded-version pattern.