Skip to content

Commit 8301d4f

Browse files
committed
Third pass at implementing GitHub actions
1 parent 7ae36a4 commit 8301d4f

File tree

6 files changed

+75
-16
lines changed

6 files changed

+75
-16
lines changed

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
version: 2
3+
updates:
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: Alpine Mainline
3-
"on":
3+
on:
4+
schedule:
5+
- cron: "0 0 * * 6"
46
workflow_dispatch:
57
jobs:
68
core:
@@ -9,53 +11,64 @@ jobs:
911
steps:
1012
- name: Check out the codebase
1113
uses: actions/checkout@v3
14+
1215
- name: Set up QEMU
1316
uses: docker/setup-qemu-action@v1
17+
1418
- name: Set up Docker Buildx
1519
uses: docker/setup-buildx-action@v1
20+
1621
- name: Login to Docker Hub
1722
uses: docker/login-action@v1
1823
with:
1924
username: ${{ secrets.DOCKERHUB_USERNAME }}
2025
password: ${{ secrets.DOCKERHUB_TOKEN }}
26+
2127
- name: Parse NGINX mainline version
2228
id: version
2329
run: |
2430
echo "::set-output name=major::$(cat mainline/alpine/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $1 }')"
2531
echo "::set-output name=minor::$(cat mainline/alpine/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $2 }')"
2632
echo "::set-output name=patch::$(cat mainline/alpine/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $3 }')"
33+
2734
- name: Build and push NGINX mainline Alpine image
2835
uses: docker/build-push-action@v2
2936
with:
3037
platforms: linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64, linux/386, linux/ppc64le, linux/s390x
3138
context: "{{ defaultContext }}:mainline/alpine"
3239
tags: nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}.${{ steps.version.outputs.patch }}-alpine, nginxinc/nginx-unprivileged:mainline-alpine, nginxinc/nginx-unprivileged:1-alpine, nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}-alpine, nginxinc/nginx-unprivileged:alpine
33-
push: false
40+
push: true
41+
3442
perl:
3543
name: Build Alpine NGINX perl mainline Docker image
3644
runs-on: ubuntu-20.04
3745
steps:
3846
- name: Check out the codebase
3947
uses: actions/checkout@v3
48+
4049
- name: Set up QEMU
4150
uses: docker/setup-qemu-action@v1
51+
4252
- name: Set up Docker Buildx
4353
uses: docker/setup-buildx-action@v1
54+
4455
- name: Login to Docker Hub
4556
uses: docker/login-action@v1
4657
with:
4758
username: ${{ secrets.DOCKERHUB_USERNAME }}
4859
password: ${{ secrets.DOCKERHUB_TOKEN }}
60+
4961
- name: Parse NGINX mainline version
5062
id: version
5163
run: |
5264
echo "::set-output name=major::$(cat mainline/alpine-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $1 }')"
5365
echo "::set-output name=minor::$(cat mainline/alpine-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $2 }')"
5466
echo "::set-output name=patch::$(cat mainline/alpine-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $3 }')"
67+
5568
- name: Build and push NGINX mainline perl Alpine image
5669
uses: docker/build-push-action@v2
5770
with:
5871
platforms: linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64, linux/386, linux/ppc64le, linux/s390x
5972
context: "{{ defaultContext }}:mainline/alpine-perl"
6073
tags: nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}.${{ steps.version.outputs.patch }}-alpine-perl, nginxinc/nginx-unprivileged:mainline-alpine-perl, nginxinc/nginx-unprivileged:1-alpine-perl, nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}-alpine-perl, nginxinc/nginx-unprivileged:alpine-perl
61-
push: false
74+
push: true
Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: Alpine Stable
3-
"on":
3+
on:
4+
schedule:
5+
- cron: "0 0 * * 6"
46
workflow_dispatch:
57
jobs:
68
core:
@@ -9,53 +11,64 @@ jobs:
911
steps:
1012
- name: Check out the codebase
1113
uses: actions/checkout@v3
14+
1215
- name: Set up QEMU
1316
uses: docker/setup-qemu-action@v1
17+
1418
- name: Set up Docker Buildx
1519
uses: docker/setup-buildx-action@v1
20+
1621
- name: Login to Docker Hub
1722
uses: docker/login-action@v1
1823
with:
1924
username: ${{ secrets.DOCKERHUB_USERNAME }}
2025
password: ${{ secrets.DOCKERHUB_TOKEN }}
26+
2127
- name: Parse NGINX stable version
2228
id: version
2329
run: |
2430
echo "::set-output name=major::$(cat stable/alpine/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $1 }')"
2531
echo "::set-output name=minor::$(cat stable/alpine/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $2 }')"
2632
echo "::set-output name=patch::$(cat stable/alpine/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $3 }')"
33+
2734
- name: Build and push NGINX stable Alpine image
2835
uses: docker/build-push-action@v2
2936
with:
3037
platforms: linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64, linux/386, linux/ppc64le, linux/s390x
3138
context: "{{ defaultContext }}:stable/alpine"
3239
tags: nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}.${{ steps.version.outputs.patch }}-alpine, nginxinc/nginx-unprivileged:stable-alpine, nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}-alpine
33-
push: false
40+
push: true
41+
3442
perl:
3543
name: Build Alpine NGINX perl stable Docker image
3644
runs-on: ubuntu-20.04
3745
steps:
3846
- name: Check out the codebase
3947
uses: actions/checkout@v3
48+
4049
- name: Set up QEMU
4150
uses: docker/setup-qemu-action@v1
51+
4252
- name: Set up Docker Buildx
4353
uses: docker/setup-buildx-action@v1
54+
4455
- name: Login to Docker Hub
4556
uses: docker/login-action@v1
4657
with:
4758
username: ${{ secrets.DOCKERHUB_USERNAME }}
4859
password: ${{ secrets.DOCKERHUB_TOKEN }}
60+
4961
- name: Parse NGINX stable version
5062
id: version
5163
run: |
5264
echo "::set-output name=major::$(cat stable/alpine-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $1 }')"
5365
echo "::set-output name=minor::$(cat stable/alpine-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $2 }')"
5466
echo "::set-output name=patch::$(cat stable/alpine-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $3 }')"
67+
5568
- name: Build and push NGINX stable perl Alpine image
5669
uses: docker/build-push-action@v2
5770
with:
5871
platforms: linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64, linux/386, linux/ppc64le, linux/s390x
5972
context: "{{ defaultContext }}:stable/alpine-perl"
6073
tags: nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}.${{ steps.version.outputs.patch }}-alpine-perl, nginxinc/nginx-unprivileged:stable-alpine-perl, nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}-alpine-perl
61-
push: false
74+
push: true
Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: Debian Mainline
3-
"on":
3+
on:
4+
schedule:
5+
- cron: "0 0 * * 6"
46
workflow_dispatch:
57
jobs:
68
core:
@@ -9,53 +11,64 @@ jobs:
911
steps:
1012
- name: Check out the codebase
1113
uses: actions/checkout@v3
14+
1215
- name: Set up QEMU
1316
uses: docker/setup-qemu-action@v1
17+
1418
- name: Set up Docker Buildx
1519
uses: docker/setup-buildx-action@v1
20+
1621
- name: Login to Docker Hub
1722
uses: docker/login-action@v1
1823
with:
1924
username: ${{ secrets.DOCKERHUB_USERNAME }}
2025
password: ${{ secrets.DOCKERHUB_TOKEN }}
26+
2127
- name: Parse NGINX mainline version
2228
id: version
2329
run: |
2430
echo "::set-output name=major::$(cat mainline/debian/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $1 }')"
2531
echo "::set-output name=minor::$(cat mainline/debian/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $2 }')"
2632
echo "::set-output name=patch::$(cat mainline/debian/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $3 }')"
33+
2734
- name: Build and push NGINX mainline Debian image
2835
uses: docker/build-push-action@v2
2936
with:
30-
platforms: linux/amd64, linux/arm/v5, linux/arm/v7, linux/arm64, linux/mips64le, linux/ppc64le, linux/s390x
37+
platforms: linux/amd64, linux/arm/v5, linux/arm/v7, linux/arm64, linux/386, linux/mips64le, linux/ppc64le, linux/s390x
3138
context: "{{ defaultContext }}:mainline/debian"
3239
tags: nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}.${{ steps.version.outputs.patch }}, nginxinc/nginx-unprivileged:mainline, nginxinc/nginx-unprivileged:1, nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}, nginxinc/nginx-unprivileged:latest
33-
push: false
40+
push: true
41+
3442
perl:
3543
name: Build Debian perl NGINX mainline Docker image
3644
runs-on: ubuntu-20.04
3745
steps:
3846
- name: Check out the codebase
3947
uses: actions/checkout@v3
48+
4049
- name: Set up QEMU
4150
uses: docker/setup-qemu-action@v1
51+
4252
- name: Set up Docker Buildx
4353
uses: docker/setup-buildx-action@v1
54+
4455
- name: Login to Docker Hub
4556
uses: docker/login-action@v1
4657
with:
4758
username: ${{ secrets.DOCKERHUB_USERNAME }}
4859
password: ${{ secrets.DOCKERHUB_TOKEN }}
60+
4961
- name: Parse NGINX mainline version
5062
id: version
5163
run: |
5264
echo "::set-output name=major::$(cat mainline/debian-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $1 }')"
5365
echo "::set-output name=minor::$(cat mainline/debian-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $2 }')"
5466
echo "::set-output name=patch::$(cat mainline/debian-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $3 }')"
67+
5568
- name: Build and push NGINX mainline perl Debian image
5669
uses: docker/build-push-action@v2
5770
with:
58-
platforms: linux/amd64, linux/arm/v5, linux/arm/v7, linux/arm64, linux/mips64le, linux/ppc64le, linux/s390x
71+
platforms: linux/amd64, linux/arm/v5, linux/arm/v7, linux/arm64, linux/386, linux/mips64le, linux/ppc64le, linux/s390x
5972
context: "{{ defaultContext }}:mainline/debian-perl"
6073
tags: nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}.${{ steps.version.outputs.patch }}-perl, nginxinc/nginx-unprivileged:mainline-perl, nginxinc/nginx-unprivileged:1-perl, nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}-perl, nginxinc/nginx-unprivileged:perl
61-
push: false
74+
push: true
Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: Debian Stable
3-
"on":
3+
on:
4+
schedule:
5+
- cron: "0 0 * * 6"
46
workflow_dispatch:
57
jobs:
68
core:
@@ -9,53 +11,64 @@ jobs:
911
steps:
1012
- name: Check out the codebase
1113
uses: actions/checkout@v3
14+
1215
- name: Set up QEMU
1316
uses: docker/setup-qemu-action@v1
17+
1418
- name: Set up Docker Buildx
1519
uses: docker/setup-buildx-action@v1
20+
1621
- name: Login to Docker Hub
1722
uses: docker/login-action@v1
1823
with:
1924
username: ${{ secrets.DOCKERHUB_USERNAME }}
2025
password: ${{ secrets.DOCKERHUB_TOKEN }}
26+
2127
- name: Parse NGINX stable version
2228
id: version
2329
run: |
2430
echo "::set-output name=major::$(cat stable/debian/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $1 }')"
2531
echo "::set-output name=minor::$(cat stable/debian/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $2 }')"
2632
echo "::set-output name=patch::$(cat stable/debian/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $3 }')"
33+
2734
- name: Build and push NGINX stable Debian image
2835
uses: docker/build-push-action@v2
2936
with:
3037
platforms: linux/amd64, linux/arm/v5, linux/arm/v7, linux/arm64, linux/mips64le, linux/ppc64le, linux/s390x
3138
context: "{{ defaultContext }}:stable/debian"
3239
tags: nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}.${{ steps.version.outputs.patch }}, nginxinc/nginx-unprivileged:stable, nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}
33-
push: false
40+
push: true
41+
3442
perl:
3543
name: Build Debian perl NGINX stable Docker image
3644
runs-on: ubuntu-20.04
3745
steps:
3846
- name: Check out the codebase
3947
uses: actions/checkout@v3
48+
4049
- name: Set up QEMU
4150
uses: docker/setup-qemu-action@v1
51+
4252
- name: Set up Docker Buildx
4353
uses: docker/setup-buildx-action@v1
54+
4455
- name: Login to Docker Hub
4556
uses: docker/login-action@v1
4657
with:
4758
username: ${{ secrets.DOCKERHUB_USERNAME }}
4859
password: ${{ secrets.DOCKERHUB_TOKEN }}
60+
4961
- name: Parse NGINX stable version
5062
id: version
5163
run: |
5264
echo "::set-output name=major::$(cat stable/debian-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $1 }')"
5365
echo "::set-output name=minor::$(cat stable/debian-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $2 }')"
5466
echo "::set-output name=patch::$(cat stable/debian-perl/Dockerfile | awk '$1 == "ENV" && $2 == "NGINX_VERSION" { print $3 }' | awk -F. '{ print $3 }')"
67+
5568
- name: Build and push NGINX stable perl Debian image
5669
uses: docker/build-push-action@v2
5770
with:
58-
platforms: linux/amd64, linux/arm/v5, linux/arm/v7, linux/arm64, linux/mips64le, linux/ppc64le, linux/s390x
71+
platforms: linux/amd64, linux/arm/v5, linux/arm/v7, linux/arm64, linux/386, linux/mips64le, linux/ppc64le, linux/s390x
5972
context: "{{ defaultContext }}:mainline/debian-perl"
6073
tags: nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}.${{ steps.version.outputs.patch }}-perl, nginxinc/nginx-unprivileged:stable-perl, nginxinc/nginx-unprivileged:${{ steps.version.outputs.major }}.${{ steps.version.outputs.minor }}-perl
61-
push: false
74+
push: true

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ This Dockerfile creates an NGINX Docker image that runs NGINX as a non root, unp
77
* The default NGINX PID has been moved from `/var/run/nginx.pid` to `/tmp/nginx.pid`.
88
* Change `*_temp_path` variables to `/tmp/*`.
99

10-
Docker Hub images are built for the `amd64`, `arm32v5` (for Debian), `arm32v6` (for Alpine), `arm32v7`, `arm64v8`, `i386` (not for mainline Debian), `mips64le` (for Debian), `ppc64le` and `s390x` architectures and can be found at <https://hub.docker.com/r/nginxinc/nginx-unprivileged>.
10+
Docker Hub images are built for the `amd64`, `arm32v5` (for Debian), `arm32v6` (for Alpine), `arm32v7`, `arm64v8`, `i386`, `mips64le` (for Debian), `ppc64le` and `s390x` architectures and can be found at <https://hub.docker.com/r/nginxinc/nginx-unprivileged>.
1111

1212
**Note:** Issues related to security vulnerabilities will be promptly closed unless they are accompanied by a solid reasoning as to why the vulnerability poses a real security threat to this image.

0 commit comments

Comments
 (0)