Merge pull request #61 from RoguedBear/main
add ability to create stable/dev/edge docker builds using git tags and GH actions + enable docker build cache
This commit is contained in:
commit
2dd17108dd
40
.github/workflows/build-images.yml
vendored
40
.github/workflows/build-images.yml
vendored
@ -4,6 +4,16 @@ on:
|
||||
# schedule:
|
||||
# - cron: '0 0 * * *' # Midnight every day
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
build_type:
|
||||
description: Build Type
|
||||
required: true
|
||||
default: edge
|
||||
type: choice
|
||||
options:
|
||||
- edge
|
||||
- dev
|
||||
- stable
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@ -29,10 +39,38 @@ jobs:
|
||||
with:
|
||||
install: true
|
||||
|
||||
- name: Create the tag
|
||||
id: image_tag
|
||||
run: |
|
||||
choice="${{ inputs.build_type }}"
|
||||
out=""
|
||||
|
||||
# if the workflow is running on a branch, let the tag be the branch name
|
||||
if [[ $GITHUB_REF == "refs/heads/"* ]] ; then
|
||||
echo "TAG=${GITHUB_REF#'refs/heads/'}" >> $GITHUB_OUTPUT
|
||||
exit 0
|
||||
fi
|
||||
|
||||
tag="${GITHUB_REF#'refs/tags/'}"
|
||||
case $choice in
|
||||
edge)
|
||||
out="TAG=$tag-edge"
|
||||
;;
|
||||
dev)
|
||||
out="TAG=$tag-dev"
|
||||
;;
|
||||
stable)
|
||||
out="TAG=$tag-stable,${{ vars.DOCKERHUB_TAG }}:latest"
|
||||
;;
|
||||
esac
|
||||
echo $out >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build and publish image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: ${{ vars.DOCKERHUB_TAG }}:latest
|
||||
tags: ${{ vars.DOCKERHUB_TAG }}:${{ steps.image_tag.outputs.TAG }}
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
Loading…
Reference in New Issue
Block a user