Skip to content

Docker-Build

Docker-Build #1451

Workflow file for this run

name: Docker-Build
on:
push:
paths-ignore: ['docs/**', '**/*.md', '**/*.drawio', '**/*.svg' ]
pull_request:
paths-ignore: [ 'docs/**', '**/*.md', '**/*.drawio', '**/*.svg' ]
schedule:
- cron: '0 20 * * *' # automatic test while every day on 04:00 am at UTC+10
workflow_dispatch:
env:
HUB: ghcr.io/flowerfine/scaleph
jobs:
# build:
# runs-on: ubuntu-latest
# permissions:
# contents: read
# packages: write
# timeout-minutes: 30
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# fetch-depth: 0
# - name: Build docker images
# run: docker-compose -f tools/docker/build/scaleph/docker-compose.yml up -d
buildx:
strategy:
matrix:
image: [ scaleph-api, scaleph-ui-react, scaleph-file-fetcher, mysql ]
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
timeout-minutes: 360
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: amd64,arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build scaleph-dist
run: mvn -B -U -T 4C clean package -Pdist -DskipTests -Dfast
- name: Build scaleph-ui-react-dist
run: mvn -B -U package -pl scaleph-ui-react -am -DskipTests
- name: Build scaleph-ui-react
run: cd scaleph-ui-react && npm install && npm run build --prod
- name: Build scaleph-file-fetcher
run: mvn -B -U -T 4C clean package -Pdist -DskipTests -Dfast -am --projects scaleph-file-fetcher
- name: Build image
uses: docker/build-push-action@v4
with:
no-cache: false
push: false
context: .
platforms: linux/amd64,linux/arm64
file: tools/docker/build/${{ matrix.image }}/Dockerfile
tags: |
${{ env.HUB }}/${{ matrix.image }}:${{ github.sha }},
${{ env.HUB }}/${{ matrix.image }}:latest