mirror of
https://github.com/bokysan/docker-postfix.git
synced 2024-11-10 08:55:39 +08:00
92ab9769d8
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v5...v6) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
194 lines
5.6 KiB
YAML
194 lines
5.6 KiB
YAML
name: Docker image
|
|
|
|
on:
|
|
push:
|
|
branches: [ 'master' ]
|
|
|
|
jobs:
|
|
Unit_Tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: ./.github/actions/unit-tests
|
|
|
|
Integration_Tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: ./.github/actions/integration-tests
|
|
with:
|
|
XOAUTH2_RELAYHOST_USERNAME: ${{ secrets.XOAUTH2_RELAYHOST_USERNAME }}
|
|
XOAUTH2_CLIENT_ID: ${{ secrets.XOAUTH2_CLIENT_ID }}
|
|
XOAUTH2_SECRET: ${{ secrets.XOAUTH2_SECRET }}
|
|
XOAUTH2_INITIAL_REFRESH_TOKEN: ${{ secrets.XOAUTH2_INITIAL_REFRESH_TOKEN }}
|
|
|
|
Helm_chart_Tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: ./.github/actions/helm-chart-tests
|
|
|
|
Build_PostfixExporter:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- Helm_chart_Tests
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: ./.github/actions/build-postfix-exporter
|
|
with:
|
|
DOCKER_ACCESS_TOKEN: '${{ secrets.DOCKER_ACCESS_TOKEN }}'
|
|
tags: |
|
|
boky/postfix-exporter:latest
|
|
boky/postfix-exporter:edge
|
|
|
|
Build_Alpine:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- Unit_Tests
|
|
- Integration_Tests
|
|
steps:
|
|
# Checkout
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
# Buildkit setup
|
|
- uses: ./.github/actions/buildx-setup
|
|
|
|
# Docker hub login
|
|
- uses: ./.github/actions/docker-hub-login
|
|
with:
|
|
DOCKER_ACCESS_TOKEN: '${{ secrets.DOCKER_ACCESS_TOKEN }}'
|
|
|
|
- name: Cache Docker layers
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: /tmp/.buildx-cache
|
|
#key: ${{ runner.os }}-buildx-${{ hashFiles('**/Dockerfile') }}
|
|
key: ${{ runner.os }}-alpine-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-alpine-
|
|
|
|
- name: Fix issue with building Alpine # See https://gitlab.alpinelinux.org/alpine/aports/-/issues/12406
|
|
run: |
|
|
update-binfmts --enable
|
|
|
|
- name: Build and push Alpine
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: .
|
|
push: true
|
|
tags: |
|
|
boky/postfix:edge
|
|
boky/postfix:edge-alpine
|
|
# linux/s390x: "rsyslog (no such package)"
|
|
# Latest Alpine does not have all the packages for 386 anymore. :-(
|
|
platforms: "linux/arm/v6,linux/arm/v7,linux/ppc64le,linux/amd64,linux/arm64"
|
|
cache-from: type=local,src=/tmp/.buildx-cache/alpine,mode=max,compression=estargz
|
|
cache-to: type=local,dest=/tmp/.buildx-cache-new/alpine
|
|
build-args: |
|
|
BASE_IMAGE=alpine:latest
|
|
|
|
- name: Move cache
|
|
run: |
|
|
rm -rf /tmp/.buildx-cache
|
|
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|
|
|
|
Build_Ubuntu:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- Unit_Tests
|
|
- Integration_Tests
|
|
steps:
|
|
# Checkout
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
# Buildkit setup
|
|
- uses: ./.github/actions/buildx-setup
|
|
|
|
# Docker hub login
|
|
- uses: ./.github/actions/docker-hub-login
|
|
with:
|
|
DOCKER_ACCESS_TOKEN: '${{ secrets.DOCKER_ACCESS_TOKEN }}'
|
|
|
|
- name: Cache Docker layers
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: /tmp/.buildx-cache
|
|
#key: ${{ runner.os }}-buildx-${{ hashFiles('**/Dockerfile') }}
|
|
key: ${{ runner.os }}-ubuntu-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-ubuntu-
|
|
|
|
- name: Build and push Ubuntu
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: .
|
|
push: true
|
|
tags: boky/postfix:edge-ubuntu
|
|
platforms: "linux/arm/v7,linux/amd64,linux/arm64,linux/ppc64le,linux/s390x"
|
|
cache-from: type=local,src=/tmp/.buildx-cache/ubuntu,mode=max,compression=estargz
|
|
cache-to: type=local,dest=/tmp/.buildx-cache-new/ubuntu
|
|
build-args: |
|
|
BASE_IMAGE=ubuntu:jammy
|
|
|
|
- name: Move cache
|
|
run: |
|
|
rm -rf /tmp/.buildx-cache
|
|
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|
|
|
|
Build_Debian:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- Unit_Tests
|
|
- Integration_Tests
|
|
steps:
|
|
# Checkout
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
# Buildkit setup
|
|
- uses: ./.github/actions/buildx-setup
|
|
|
|
# Docker hub login
|
|
- uses: ./.github/actions/docker-hub-login
|
|
with:
|
|
DOCKER_ACCESS_TOKEN: '${{ secrets.DOCKER_ACCESS_TOKEN }}'
|
|
|
|
- name: Cache Docker layers
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: /tmp/.buildx-cache
|
|
#key: ${{ runner.os }}-buildx-${{ hashFiles('**/Dockerfile') }}
|
|
key: ${{ runner.os }}-debian-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-debian-
|
|
|
|
- name: Build and push Debian
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: .
|
|
push: true
|
|
tags: boky/postfix:edge-debian
|
|
platforms: "linux/386,linux/arm/v5,linux/arm/v7,linux/arm64/v8,linux/amd64,linux/arm64,linux/mips64le,linux/ppc64le,linux/s390x"
|
|
cache-from: type=local,src=/tmp/.buildx-cache/debian,mode=max,compression=estargz
|
|
cache-to: type=local,dest=/tmp/.buildx-cache-new/debian
|
|
build-args: |
|
|
BASE_IMAGE=debian:bookworm-slim
|
|
|
|
- name: Move cache
|
|
run: |
|
|
rm -rf /tmp/.buildx-cache
|
|
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|
|
|