Skip to content

anarazel/pg-vm-images

Repository files navigation

Postgres CI Image Creation

Builds VM and container images for PostgreSQL CI, currently utilizing cirrus-ci. See src/tools/ci/README for more details.

An example cirrus-ci use of these images is Postgres' .cirrus.yml

How to use

If you are contributing to Postgres, Postgres' CI README explains how to enable CI utilizing these image for a repository.

If you are developing a different project that uses Cirrus CI, you might be interested in using one of the BSD images. Here is an example using the NetBSD image without Postgres:

foo_task:
  compute_engine_instance:
    image_project: pg-ci-images
    image: family/pg-ci-netbsd-vanilla-9-2
    platform: netbsd

The following images are available:

  • FreeBSD images with Postgres are available in the family pg-ci-freebsd-13. (If you are looking for images without Postgres, just use FreeBSD's official GCP images.)

  • NetBSD and OpenBSD images are available both with and without Postgres, in families pg-ci-{net,open}bsd-{vanilla,postgres}-$version. Find the current value of $version in packer/netbsd.pkrvars.hcl and packer/openbsd.pkrvars.hcl.

How it works

The VM images are built using packer, the container images using docker. The built images are then stored within google cloud services, as cirrus-ci runs most of its instances within google cloud.

Google Cloud Setup

Instructions for setting up this build pipeline are in gcp_project_setup.txt.