Adds a bats lint test that guards the static wiring (nginx conf, dokku-restore finish-script ordering, my_init sentinel reset, and the Dockerfile HEALTHCHECK line) plus a docker smoke test that boots the built image, waits for the health flip, exercises the loopback endpoint, asserts the port is not published to the host, and verifies the negative path. The smoke test is invoked via a new `make test-image-healthcheck` target and runs automatically in the build-image action after `docker buildx --load`.
38 lines
771 B
YAML
38 lines
771 B
YAML
---
|
|
name: 'build-image'
|
|
|
|
description: 'builds a dokku docker image'
|
|
|
|
inputs:
|
|
architecture:
|
|
description: 'platform to build'
|
|
required: true
|
|
default: 'linux/amd64'
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: download packages
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: build
|
|
path: build
|
|
|
|
- name: set up docker buildx
|
|
id: buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: build docker image
|
|
shell: bash
|
|
run: |
|
|
docker buildx build \
|
|
--load \
|
|
--progress plain \
|
|
--tag "dokku/dokku:latest" \
|
|
.
|
|
|
|
- name: smoke test image
|
|
shell: bash
|
|
run: |
|
|
make test-image-healthcheck IMAGE_TAG=dokku/dokku:latest
|