Skip to content

Testing changes

Each time we update the underlying version of Python or the base OS the steps below are a good way to verify compatibility.

  • Make sure the change is compatible with the python dependencies of dependent projects
  • In your docker-python-web repository, rebuild the local image:
docker compose build app --no-cache

Test Benefits with the updated local base image

In your benefits repository:

  1. In the benefits Dockerfile:
ghcr.io/cal-itp/docker-python-web:main
# becomes
docker-python-web:app
  1. Rebuild Benefits image
docker compose build client --no-cache
  1. Open Benefits devcontainer with “Rebuild Without Cache and Reopen in Container”
  2. Run app locally and go through a few full flows
  3. Verify that unit tests pass

Test eligibility-server with the updated local base image

In your eligibility-server repository

  1. In the eligibility-server Dockerfile:
  ghcr.io/cal-itp/docker-python-web:main
  # becomes
  docker-python-web:app
  1. Rebuild eligibility-server image
  docker compose build server --no-cache
  1. Open eligibility-server devcontainer with “Rebuild Without Cache and Reopen in Container”
  2. Verify that unit tests pass

And confirm the update works in benefits:

  1. Use the local eligibility_server:latest image as the Benefits compose.yml server service
  2. Rebuild the benefits container
  3. Run app locally and test the Courtesy Card flow

Follow-up

After a Python upgrade is complete, we follow-up in dependent projects above by updating:

We also update related projects that use an official image for the sake of parity.