Simplify build

This commit is contained in:
Fergal Moran
2020-09-05 03:21:36 +01:00
parent 38477a1715
commit bedee88554
2 changed files with 60 additions and 77 deletions

View File

@@ -1,65 +1,65 @@
name: build-client # name: build-client
on: # on:
push: # push:
branches: trunk # branches: trunk
jobs: # jobs:
buildx: # buildx:
runs-on: ubuntu-latest # runs-on: ubuntu-latest
steps: # steps:
- # -
name: Checkout # name: Checkout
uses: actions/checkout@v2 # uses: actions/checkout@v2
- # -
name: Prepare # name: Prepare
id: prepare # id: prepare
run: | # run: |
DOCKER_IMAGE=fergalmoran/bitchmin-web # DOCKER_IMAGE=fergalmoran/bitchmin-web
DOCKER_PLATFORMS=linux/amd64,linux/arm/v7 # DOCKER_PLATFORMS=linux/amd64,linux/arm/v7
VERSION=latest # VERSION=latest
if [[ $GITHUB_REF == refs/tags/* ]]; then # if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/v} # VERSION=${GITHUB_REF#refs/tags/v}
fi # fi
if [ "${{ github.event_name }}" = "schedule" ]; then # if [ "${{ github.event_name }}" = "schedule" ]; then
VERSION=nightly # VERSION=nightly
fi # fi
TAGS="--tag ${DOCKER_IMAGE}:${VERSION}" # TAGS="--tag ${DOCKER_IMAGE}:${VERSION}"
if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then # if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
TAGS="$TAGS --tag ${DOCKER_IMAGE}:latest" # TAGS="$TAGS --tag ${DOCKER_IMAGE}:latest"
fi # fi
echo ::set-output name=docker_image::${DOCKER_IMAGE} # echo ::set-output name=docker_image::${DOCKER_IMAGE}
echo ::set-output name=version::${VERSION} # echo ::set-output name=version::${VERSION}
echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ # echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \
--build-arg VERSION=${VERSION} \ # --build-arg VERSION=${VERSION} \
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ # --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
--build-arg VCS_REF=${GITHUB_SHA::8} \ # --build-arg VCS_REF=${GITHUB_SHA::8} \
${TAGS} --file ./client/Dockerfile ./client # ${TAGS} --file ./client/Dockerfile ./client
- # -
name: Set up Docker Buildx # name: Set up Docker Buildx
uses: crazy-max/ghaction-docker-buildx@v3 # uses: crazy-max/ghaction-docker-buildx@v3
- # -
name: Docker Buildx (build) # name: Docker Buildx (build)
run: | # run: |
docker buildx build --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} # docker buildx build --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }}
- # -
name: Login to DockerHub # name: Login to DockerHub
if: success() && github.event_name != 'pull_request' # if: success() && github.event_name != 'pull_request'
uses: docker/login-action@v1 # uses: docker/login-action@v1
with: # with:
username: ${{ secrets.DOCKER_USERNAME }} # username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }} # password: ${{ secrets.DOCKER_PASSWORD }}
- # -
name: Docker Buildx (push) # name: Docker Buildx (push)
if: success() && github.event_name != 'pull_request' # if: success() && github.event_name != 'pull_request'
run: | # run: |
docker buildx build --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} # docker buildx build --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }}
- # -
name: Inspect image # name: Inspect image
if: always() && github.event_name != 'pull_request' # if: always() && github.event_name != 'pull_request'
run: | # run: |
docker buildx imagetools inspect ${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.version }} # docker buildx imagetools inspect ${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.version }}

View File

@@ -18,26 +18,9 @@ jobs:
DOCKER_IMAGE=fergalmoran/bitchmin-api DOCKER_IMAGE=fergalmoran/bitchmin-api
DOCKER_PLATFORMS=linux/amd64,linux/arm/v7 DOCKER_PLATFORMS=linux/amd64,linux/arm/v7
VERSION=latest VERSION=latest
if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/v}
fi
if [ "${{ github.event_name }}" = "schedule" ]; then
VERSION=nightly
fi
TAGS="--tag ${DOCKER_IMAGE}:${VERSION}"
if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
TAGS="$TAGS --tag ${DOCKER_IMAGE}:latest"
fi
echo ::set-output name=docker_image::${DOCKER_IMAGE} echo ::set-output name=docker_image::${DOCKER_IMAGE}
echo ::set-output name=version::${VERSION}
echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \
--build-arg VERSION=${VERSION} \ --file ./server/Dockerfile ./server
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
--build-arg VCS_REF=${GITHUB_SHA::8} \
${TAGS} --file ./server/Dockerfile ./server
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: crazy-max/ghaction-docker-buildx@v3 uses: crazy-max/ghaction-docker-buildx@v3