Some information Varnish packages and CI

Guillaume Quintard guillaume at varnish-software.com
Fri Aug 7 00:21:43 UTC 2020


Hi everyone,

This is going to be a long email, and I apologize in advance for that. We
get a lot of questions about packages and hopefully, this can act as an FAQ
that newcomers can refer to.

# Sources, packages, and other packages

## Source tarballs

First in the pipeline, they are produced by the Varnish Cache project and
available here: https://varnish-cache.org/releases/index.html

We get a new release every 6 months (15/03 and 15/09 usually), whatever's
in the trunk goes in, with a code freeze period before the release, and a
code thaw one after it. The decision to make the release a major or minor
occurs a few weeks before the actual release date.

Patch releases can happen for bug and security fixes, but only for the
supported releases, meaning:
- the two latest releases
- the Long Term Support release, which is currently 6.0

## Distribution packages

Those are your regular distribution (debian, freeBSD, openSolaris, etc.)
packages and are handled by said distribution. Each maintainer generally
grabs the source tarball, applies their patches and packages Varnish to
their liking.

These packages aren't handled at all by the Varnish Cache project and are
each distribution's responsibility. We do however try compatible with all
interested upstreams so that patches aren't necessary on their side.

## Packagecloud packages

The Varnish Cache project produces its own packages for a limited number of
linux platforms (see below) and host them here:
https://packagecloud.io/varnishcache . The packages are generally released
within a week after the source tarball.

Each version is isolated in a separate repository to avoid unplanned major
upgrades.

# Distribution support

## Source

Varnish aims to play nice with the maximum number of POSIX systems: BSDs,
Solaris, OSX, etc.

You can see this by checking:
- the vtest page that references tests run by individual contributors:
https://varnish-cache.org/vtest/ (let us know if you want to add your
target(s)!)
- circleci that builds and checks both the source (every commit) and
packages (nightly) for a selection of linux platforms:
https://app.circleci.com/pipelines/github/varnishcache
- travis: that also builds for a couple of major linuxes, and for OSX

## Packagecloud packages

At the time of writing, we produce packages for both arm64 and amd64
architectures on:
- alpine:3
- centos:7
- centos:8
- debian:bullseye
- debian:buster
- debian:stretch
- ubuntu:bionic
- ubuntu:focal
- ubuntu:xenial

I'd like to thank Martin Grigorov (martin-g on github) for the awesome work
he did on expanding the distribution pool, and on supporting arm64, great
job!

Important note: once a new distribution is added, it only gets packages
when the next Varnish release happens. In other words, we don't build old
packages for new platforms.

All the packaging scripts are located in
https://github.com/varnishcache/pkg-varnish-cache and may or may not be
used by distributions downstream.

We welcome new platforms too, so don't hesitate to open a PR if you want to
include your OS (openSUSE maybe?). And we're happy to help if some stuff
needs explaining.

# Nightlies and Weeklies

Every night, Circle CI produces nightly packages (click on the
"collect_packages" job, then "artifacts" ). They reflect whatever is in the
master branch when the jobs run and allow you to live on the bleeding edge
with the freshest of the freshest packages.

Every Monday at 15:00 CEST, on the #varnish-hacking IRC channel, in what we
call the bugwash, Varnish contributors decide whether or not to push the
latest nightly packages into packagecloud, turning them into "weeklies" (
https://packagecloud.io/varnishcache/varnish-weekly). This means that there
may be weeks without weeklies, simply because the decision to push was
veto'd (weeklies are otherwise automatically accepted).

# Docker images

In addition, we also care for the official Varnish Docker images. You can
check https://hub.docker.com/_/varnish for the hub page, and
https://github.com/varnish/docker-varnish for the source.

The images track the latest release and the LTS one, they are based on the
latest debian release at the time of build and of course use the
packagecloud packages.

By the way, we'd love to get some feedback on those, so don't hesitate to
open issues on actionable items, or to open PRs here:
https://github.com/varnish/docker-varnish

I have possibly forgotten to include the one bit ot info that you were
after, if that's the case, please ask and I can add it!

Cheers,

-- 
Guillaume Quintard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20200806/c2d6e830/attachment-0001.html>


More information about the varnish-misc mailing list