Skip to content

docker_publish

docker_publish #14

name: docker_publish
on:
push:
branches:
- 'master'
tags:
- 'v*'
schedule:
- cron: '0 4 1 * *' # 1st day of month at 4am UTC
workflow_dispatch:
jobs:
docker-alpine:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Checkout submodule
run: |
cd fc2-live-dl && \
git fetch --all --tags && \
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
git checkout tags/${{ github.ref_name }} -b ${{ github.ref_name }}
else
git checkout main
fi
- name: Setup docker
id: setup
uses: ./.github/workflows/docker-reused-setup-steps
with:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
QUAY_TOKEN: ${{ secrets.QUAY_TOKEN }}
CR_PAT: ${{ secrets.CR_PAT }}
tag: alpine
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
file: ./alpine.Dockerfile
push: true
target: final
tags: ${{ steps.setup.outputs.tags }}
labels: ${{ steps.setup.outputs.labels }}
build-args: VERSION=${{ github.head_ref || github.ref_name }}
platforms: linux/amd64,linux/arm64
docker-ubi:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Checkout submodule
run: |
cd fc2-live-dl && \
git fetch --all --tags && \
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
git checkout tags/${{ github.ref_name }} -b ${{ github.ref_name }}
else
git checkout main
fi
- name: Setup docker
id: setup
uses: ./.github/workflows/docker-reused-setup-steps
with:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
QUAY_TOKEN: ${{ secrets.QUAY_TOKEN }}
CR_PAT: ${{ secrets.CR_PAT }}
tag: ubi
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
file: ./ubi.Dockerfile
push: true
target: final
tags: ${{ steps.setup.outputs.tags }}
labels: ${{ steps.setup.outputs.labels }}
build-args: VERSION=${{ github.head_ref || github.ref_name }}
platforms: linux/amd64,linux/arm64
docker-distroless:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Checkout submodule
run: |
cd fc2-live-dl && \
git fetch --all --tags && \
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
git checkout tags/${{ github.ref_name }} -b ${{ github.ref_name }}
else
git checkout main
fi
- name: Setup docker
id: setup
uses: ./.github/workflows/docker-reused-setup-steps
with:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
QUAY_TOKEN: ${{ secrets.QUAY_TOKEN }}
CR_PAT: ${{ secrets.CR_PAT }}
tag: distroless
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
file: ./distroless.Dockerfile
push: true
target: final
tags: ${{ steps.setup.outputs.tags }}
labels: ${{ steps.setup.outputs.labels }}
build-args: VERSION=${{ github.head_ref || github.ref_name }}
platforms: linux/amd64,linux/arm64