Update .github/workflows/build.yaml

This commit is contained in:
Zakary Timson 2025-04-17 11:45:51 -04:00
parent 1dd915806c
commit 08cffbb9ca

View File

@ -1,5 +1,5 @@
name: Build Container name: Build and publish
run-name: Build Container run-name: Build and publish
on: on:
push: push:
@ -13,55 +13,45 @@ jobs:
- name: Build Container - name: Build Container
run: | run: |
git clone -b "${{github.ref_name}}" "$(echo ${{github.server_url}}/${{github.repository}}.git | sed s%://%://${{github.token}}@% )" . git clone -b "${{github.ref_name}}" "$(echo ${{github.server_url}}/${{github.repository}}.git | sed s%://%://${{github.token}}@% )" .
REGISTRY="$(echo ${{github.server_url}} | sed s%http://%% | sed s%https://%% )" DOCKER_HUB=$([ -n "${{secrets.DOCKER_HUB_USER}}" ] && [ -n "${{secrets.DOCKER_HUB_TOKEN}}" ] && [ -n "${{secrets.DOCKER_HUB_IMAGE}}" ] && echo "true" || echo "false")
VERSION="$(cat Dockerfile | grep "ARG CADDY_VERSION" | grep -Eo '=.+' | grep -Eo '[[:alnum:]\.\/\-]+')" REGISTRY="$(echo "${{github.server_url}}" | sed -E 's|https?://||')"
VERSION="$(cat package.json | grep 'version' | grep -Eo '([0-9]+\.?)+(-[0-9a-zA-Z\-\.]+)?')"
docker login -u ${{github.repository_owner}} -p ${{secrets.DEPLOY_TOKEN}} $REGISTRY docker login -u "${{github.repository_owner}}" -p "${{secrets.DEPLOY_TOKEN}}" "$REGISTRY"
if [ "$DOCKER_HUB" = "true" ]; then docker login -u "${{secrets.DOCKER_HUB_USER}}" -p "${{secrets.DOCKER_HUB_TOKEN}}" docker.io; fi
docker build -t $REGISTRY/${{github.repository}}:${{github.ref_name}} . docker build -t "$REGISTRY/${{github.repository}}:${{github.ref_name}}" .
docker push $REGISTRY/${{github.repository}}:${{github.ref_name}} docker push "$REGISTRY/${{github.repository}}:${{github.ref_name}}"
if [ "$DOCKER_HUB" = "true" ]; then
if [ '${{github.ref_name}}' == 'master' ]; then docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:${{github.ref_name}}"
docker tag $REGISTRY/${{github.repository}}:${{github.ref_name}} $REGISTRY/${{github.repository}}:$VERSION docker push "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:${{github.ref_name}}"
docker push $REGISTRY/${{github.repository}}:$VERSION
docker tag $REGISTRY/${{github.repository}}:${{github.ref_name}} $REGISTRY/${{github.repository}}:latest
docker push $REGISTRY/${{github.repository}}:latest
fi fi
docker-hub: if [ "${{github.ref_name}}" = "master" ]; then
name: Docker Hub docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "$REGISTRY/${{github.repository}}:$VERSION"
runs-on: ubuntu-latest docker push "$REGISTRY/${{github.repository}}:$VERSION"
container: docker if [ "$DOCKER_HUB" = "true" ]; then
steps: docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:$VERSION"
- name: Build Container docker push "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:$VERSION"
run: | fi
git clone -b "${{github.ref_name}}" "$(echo ${{github.server_url}}/${{github.repository}}.git | sed s%://%://${{github.token}}@% )" .
REGISTRY="docker.io"
VERSION="$(cat Dockerfile | grep "ARG CADDY_VERSION" | grep -Eo '=.+' | grep -Eo '[[:alnum:]\.\/\-]+')"
docker login -u ztimson -p ${{secrets.DOCKER_TOKEN}} $REGISTRY docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "$REGISTRY/${{github.repository}}:latest"
docker push "$REGISTRY/${{github.repository}}:latest"
docker build -t $REGISTRY/${{github.repository}}:${{github.ref_name}} . if [ "$DOCKER_HUB" = "true" ]; then
docker push $REGISTRY/${{github.repository}}:${{github.ref_name}} docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:latest"
docker push "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:latest"
if [ '${{github.ref_name}}' == 'master' ]; then fi
docker tag $REGISTRY/${{github.repository}}:${{github.ref_name}} $REGISTRY/${{github.repository}}:$VERSION
docker push $REGISTRY/${{github.repository}}:$VERSION
docker tag $REGISTRY/${{github.repository}}:${{github.ref_name}} $REGISTRY/${{github.repository}}:latest
docker push $REGISTRY/${{github.repository}}:latest
fi fi
tag: tag:
name: Git Tag name: Git Tag
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: alpine/git container: docker
steps: steps:
- name: Git Tag - name: Git Tag
run: | run: |
git clone -b "${{github.ref_name}}" "$(echo ${{github.server_url}}/${{github.repository}}.git | sed s%://%://${{github.token}}@% )" . git clone -b "${{github.ref_name}}" "$(echo ${{github.server_url}}/${{github.repository}}.git | sed s%://%://${{github.token}}@% )" .
VERSION="$(cat Dockerfile | grep "ARG CADDY_VERSION" | grep -Eo '=.+' | grep -Eo '[[:alnum:]\.\/\-]+')" VERSION="$(cat package.json | grep 'version' | grep -Eo '([0-9]+\.?)+(-[0-9a-zA-Z\-\.]+)?')"
git tag -f $VERSION ${{github.sha}} git tag -f $VERSION ${{github.sha}}
git push -f origin $VERSION git push -f origin $VERSION