You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository contains the Docker tooling and Dockerfiles for OpenResty. It supports multiple Linux distributions (Alpine, Ubuntu, Debian, CentOS, Fedora, etc.) and architectures (amd64, arm64, s390x).
5
+
6
+
## CI/CD Architecture
7
+
The project has migrated from Travis CI to **GitHub Actions**.
8
+
9
+
### Workflow
10
+
The primary workflow is defined in `.github/workflows/docker-publish.yml`.
11
+
-**Primary Registry**: GitHub Container Registry (GHCR). All images are built and pushed here first.
12
+
-**Mirror Registry**: Docker Hub (`openresty/openresty`). This is configured as a mirror. Pushing to Docker Hub is optional and controlled by the `ENABLE_DOCKERHUB_MIRROR` variable/secret.
13
+
-**Fat Images**: "Fat" images (containing additional build tools like OPM) are built in a second stage (`build-fat` job), using the base images newly published to GHCR.
14
+
15
+
### Workflows
16
+
-`docker-publish.yml`: Handles building, testing (implicit in build), and publishing images. Uses a matrix strategy for different flavors and architectures.
17
+
18
+
## Verification
19
+
A test script `test-build-actions.sh` is provided to verify the build process locally or in CI.
20
+
21
+
## Key Files
22
+
-`.github/workflows/docker-publish.yml`: Main CI definition.
`docker-openresty` is [Docker](https://www.docker.com) tooling for OpenResty (https://www.openresty.org).
6
6
7
7
Docker is a container management platform. OpenResty is a full-fledged web application server by
8
8
bundling the standard nginx core, lots of 3rd-party nginx modules, as well as most of their external dependencies.
9
9
10
-
Thank you to [Travis CI](https://www.travis-ci.com) for donating their build infrastructure to this project for over seven years!
10
+
Thank you to [Travis CI](https://www.travis-ci.com) for donating their build infrastructure to this project for over seven years! We have since migrated to GitHub Actions.
11
11
12
12
We provide a series of [pre-built images](#openresty-image-tags) for various operating systems. Some are built-from the upstream OpenResty pre-built images and some are built from source.
13
13
@@ -63,12 +63,16 @@ There are also specific tags for [Debug](https://openresty.org/en/deb-packages.h
63
63
|`openresty/openresty:bullseye-fat-debug`| Bullseye FAT flavor with `openresty-debug`|
64
64
|`openresty/openresty:bullseye-fat-valgrind`| Bullseye FAT flavor with `openresty-valgrind`|
65
65
66
-
## Image Mirror
67
-
68
-
As of `1.27.1.2-6`, we also mirror to the [GitHub Container Registry](https://github.com/users/neomantra/packages/container/package/openresty). Note this is under the image maintainer's GitHub account and not the OpenResty GitHub account. To use it, rather than specifying the image`openresty/openresty`,
69
-
use the full GHCR image path of `ghcr.io/neomantra/openresty`. For example:
66
+
## Image Registries
67
+
68
+
The CI/CD pipeline builds images to the [GitHub Container Registry](https://github.com/openresty/docker-openresty/pkgs/container/openresty) (GHCR) as the primary source.
69
+
70
+
*`ghcr.io/neomantra/openresty`
71
+
72
+
The images are then mirrored to [Docker Hub](https://hub.docker.com/r/openresty/openresty/) for convenience and backward compatibility.
@@ -119,7 +123,7 @@ The `openresty/openresty:latest` tag points to the latest `bookworm` image.
119
123
120
124
Since `1.19.3.2-1`, all flavors support multi-architecture builds, both `amd64` and `aarch64`. Since `1.21.4.1-1`, the `s390x` architecture is supported for build-from-source Ubuntu flavors (like `jammy`); prior to version `1.27.1.2-3`, [PCRE JIT](https://github.com/zherczeg/sljit/issues/89) is disabled for `s390x`.
121
125
122
-
Starting with `1.13.6.1`, releases are tagged with `<openresty-version>-<image-version>-<flavor>`. The latest `image-version` will also be tagged `<openresty-version>-<flavor>`. The HEAD of the master branch is also labeled plainly as `<flavor>`. The builds are managed by [Travis-CI](https://travis-ci.com/github/neomantra/docker-openresty) and [Appveyor](https://ci.appveyor.com/project/openresty/docker-openresty) (for Windows images).
126
+
Starting with `1.13.6.1`, releases are tagged with `<openresty-version>-<image-version>-<flavor>`. The latest `image-version` will also be tagged `<openresty-version>-<flavor>`. The HEAD of the master branch is also labeled plainly as `<flavor>`. The builds are managed by [GitHub Actions](https://github.com/openresty/docker-openresty/actions) and [Appveyor](https://ci.appveyor.com/project/openresty/docker-openresty) (for Windows images).
123
127
124
128
There are architecture-specific tags as well, `<openresty-version>-<image-version>-<flavor>-<arch>`, but one would generally pull from the multi-architecture name above.
0 commit comments