Skip to content

Commit

Permalink
fix: enhance docker image build github action
Browse files Browse the repository at this point in the history
  • Loading branch information
ludomikula committed Sep 3, 2024
1 parent 722480d commit b668fe7
Showing 1 changed file with 41 additions and 34 deletions.
75 changes: 41 additions & 34 deletions .github/workflows/docker-images.yml
Original file line number Diff line number Diff line change
@@ -1,42 +1,49 @@
name: Build lowcoder dev image
name: 'Build lowcoder docker images'

on:
push:
branches: dev
workflow_dispatch:
inputs:
image_tag:
type: choice
description: 'Choose a tag for built docker image(s)'
required: true
default: latest
options:
- latest
- test
build_allinone:
type: boolean
description: 'Build the All-In-One image'
default: true
build_frontend:
type: boolean
description: 'Build the Frontend image'
default: true
build_nodeservice:
type: boolean
description: 'Build the Node service image'
default: true
build_apiservice:
type: boolean
description: 'Build the API service image'
default: true

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout lowcoder from 'dev' branch
uses: actions/checkout@v4
with:
ref: dev
- name: Get commit short SHA
run: echo "SHORT_SHA=$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_ENV
- name: Log into Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_LOGIN }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Setup Docker Buildx with cloud driver
uses: docker/setup-buildx-action@v3
with:
version: "lab:latest"
driver: cloud
endpoint: "lowcoderorg/lowcoder-cloud-builder"
- name: Build and push the all-in-one image
uses: docker/build-push-action@v6
env:
NODE_ENV: production
with:
file: ./deploy/docker/Dockerfile
build-args: |
REACT_APP_ENV=production
REACT_APP_COMMIT_ID="dev #${SHORT_SHA}"
platforms: |
linux/amd64
linux/arm64
push: true
tags: lowcoderorg/lowcoder-ce:dev
- name: Set environment variables
shell: bash
run: |
# Get the short SHA of last commit
echo "SHORT_SHA=$(echo ${{ github.sha }} | cut -c1-7)" >> "${GITHUB_ENV}"
# Get branch name - we don't use github.ref_head_name since we don't build on PRs
echo "BRANCH_NAME=${{ github.ref_name }}" >> "${GITHUB_ENV}"
# Set docker image tag
echo "IMAGE_TAG=${{ inputs.image_tag || github.ref_name }}" >> "${GITHUB_ENV}"
# Control which images to build
echo "BUILD_ALLINONE=${{ inputs.build_allinone || true }}" >> "${GITHUB_ENV}"
echo "BUILD_FRONTEND=${{ inputs.build_frontend || true }}" >> "${GITHUB_ENV}"
echo "BUILD_NODESERVICE=${{ inputs.build_nodeservice || true }}" >> "${GITHUB_ENV}"
echo "BUILD_APISERVICE=${{ inputs.build_apiservice || true }}" >> "${GITHUB_ENV}"

0 comments on commit b668fe7

Please sign in to comment.