Files
kimai2/.github/workflows/docker.yaml

105 lines
3.5 KiB
YAML

name: 'Docker Build'
# act -j build -W ./.github/workflows/docker.yaml --secret-file .dockerhub.secrets
on:
workflow_dispatch:
release:
types: [released]
jobs:
build:
strategy:
matrix:
type: [ dev, prod ]
server: [ fpm, apache ]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install buildx
uses: docker/setup-buildx-action@v2
- name: Install lastversion
run: sudo apt-get update -y; sudo apt-get install --no-install-recommends -y python3 python3-pip; pip install lastversion
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{secrets.DOCKERHUB_USERNAME}}
password: ${{secrets.DOCKERHUB_PASSWORD}}
- name: get lastest version
id: remote_version
run: echo "kimai_version=$(lastversion https://github.com/kimai/kimai)" >> $GITHUB_ENV
- name: Build
uses: docker/build-push-action@v4
with:
context: .
build-args: |
KIMAI=${{ env.kimai_version }}
TIMEZONE=Europe/London
BASE=${{ matrix.server }}
target: ${{ matrix.type }}
platforms: linux/amd64,linux/arm64 #,linux/arm/v8,linux/arm/v7,linux/arm/v6
tags: |
kimai/kimai2:${{ matrix.server }}-${{ matrix.type }}
kimai/kimai2:${{ matrix.server }}-${{ env.kimai_version }}-${{ matrix.type }}
push: true
tag:
needs: build
runs-on: ubuntu-latest
steps:
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{secrets.DOCKERHUB_USERNAME}}
password: ${{secrets.DOCKERHUB_PASSWORD}}
- name: Pull images
run: |
docker pull kimai/kimai2:fpm-prod
docker pull kimai/kimai2:fpm-dev
docker pull kimai/kimai2:apache-prod
docker pull kimai/kimai2:apache-dev
- name: Tag fpm
run: |
docker tag kimai/kimai2:fpm-prod kimai/kimai2:fpm
docker push kimai/kimai2:fpm
- name: Tag fpm latest
run: |
docker tag kimai/kimai2:fpm-prod kimai/kimai2:fpm-latest
docker push kimai/kimai2:fpm-latest
- name: Tag latest
run: |
docker tag kimai/kimai2:fpm-prod kimai/kimai2:latest
docker push kimai/kimai2:latest
- name: Tag prod
run: |
docker tag kimai/kimai2:fpm-prod kimai/kimai2:prod
docker push kimai/kimai2:prod
- name: Tag apache
run: |
docker tag kimai/kimai2:apache-prod kimai/kimai2:apache
docker push kimai/kimai2:apache
- name: Tag apache latest
run: |
docker tag kimai/kimai2:apache-prod kimai/kimai2:apache-latest
docker push kimai/kimai2:apache-latest
- name: Tag dev
run: |
docker tag kimai/kimai2:apache-dev kimai/kimai2:dev
docker push kimai/kimai2:dev