Skip to content

Latest commit

 

History

History
67 lines (48 loc) · 2.03 KB

README.md

File metadata and controls

67 lines (48 loc) · 2.03 KB

bootstrap.pypa.io

bootstrap.pypa.io is a service hosted by the Python Software Foundation for the Python Packaging Authority to provide bootstrapping scripts for common packaging tools to environments that may not already have them.

This repository hosts the assets used to build and serve the service.

Locally testing

You can construct and test the image locally after cloning the repository

docker build -t bootstrap_pypa_io .
docker run --rm -p 8080:8000 bootstrap_pypa_io

The service is then available at http://localhost:8080

You can build from a different version of a given source using Docker build-args:

docker build -t bootstrap_pypa_io --build-arg get_pip_branch=24.1 .

Current args are:

ARG get_pip_branch=main
ARG get_virtualenv_branch=main
ARG setuptools_branch=bootstrap
ARG buildout_branch=bootstrap-release

Dockerfile

The Dockerfile

  1. Retrieves upstream sources from get-pip, get-virtualenv, setuptools, and buildout.
  2. Constructs the directory that will be served at bootstrap.pypa.io
  3. Builds a container for serving the directory via nginx and executing CDN purges

CDN purging

purge.sh is run after successful deployments to purge all files served by bootstrap.pypa.io.

Updating

Changes to upstream sources are tracked via the monitor GitHub Action.

When changes are detected, a commit will automatically be created.

Once our "tests" have passed, a deployment will automatically be started. Once complete the purge.sh script will be run to purge the CDN cache.