generated from ztimson/template
This commit is contained in:
48
.github/workflows/build.yaml
vendored
48
.github/workflows/build.yaml
vendored
@@ -1,36 +1,32 @@
|
|||||||
name: Build Website
|
name: Build and publish
|
||||||
run-name: Build Website
|
run-name: Build and publish
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
docker:
|
container:
|
||||||
name: Build Dockerfile
|
name: Build Container
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: docker:dind
|
container: docker
|
||||||
steps:
|
steps:
|
||||||
- name: Clone Repository
|
- name: Build Container
|
||||||
uses: ztimson/actions/clone@develop
|
run: |
|
||||||
|
git clone -b "${{github.ref_name}}" "$(echo ${{github.server_url}}/${{github.repository}}.git | sed s%://%://${{github.token}}@% )" .
|
||||||
|
DOCKER_HUB=$([ -n "${{secrets.DOCKER_HUB_USER}}" ] && [ -n "${{secrets.DOCKER_HUB_TOKEN}}" ] && [ -n "${{secrets.DOCKER_HUB_IMAGE}}" ] && echo "true" || echo "false")
|
||||||
|
REGISTRY="$(echo "${{github.server_url}}" | sed -E 's|https?://||')"
|
||||||
|
|
||||||
- name: Install Node
|
docker login -u "${{github.repository_owner}}" -p "${{secrets.DEPLOY_TOKEN}}" "$REGISTRY"
|
||||||
run: apk add nodejs npm
|
if [ "$DOCKER_HUB" = "true" ]; then docker login -u "${{secrets.DOCKER_HUB_USER}}" -p "${{secrets.DOCKER_HUB_TOKEN}}" docker.io; fi
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
docker build -t "$REGISTRY/${{github.repository}}:${{github.ref_name}}" .
|
||||||
uses: docker/setup-buildx-action@v3
|
docker push "$REGISTRY/${{github.repository}}:${{github.ref_name}}"
|
||||||
|
|
||||||
- name: Set up QEMU
|
if [ "${{github.ref_name}}" = "master" ]; then
|
||||||
uses: docker/setup-qemu-action@v3
|
docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "$REGISTRY/${{github.repository}}:latest"
|
||||||
|
docker push "$REGISTRY/${{github.repository}}:latest"
|
||||||
- name: Publish Latest Tag
|
if [ "$DOCKER_HUB" = "true" ]; then
|
||||||
run: |
|
docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:latest"
|
||||||
if [ "${{github.ref_name}}" = "master" ]; then
|
docker push "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:latest"
|
||||||
REGISTRY=$(echo ${{github.server_url}} | sed s%http://%% | sed s%https://%%)
|
fi
|
||||||
docker login -u "${{github.repository_owner}}" -p "${{secrets.DEPLOY_TOKEN}}" "$REGISTRY"
|
fi
|
||||||
docker login -u "${{secrets.DOCKER_HUB_USER}}" -p "${{secrets.DOCKER_HUB_TOKEN}}" docker.io
|
|
||||||
|
|
||||||
docker buildx build --platform linux/amd64,linux/arm64 \
|
|
||||||
-t "$REGISTRY/${{github.repository}}:latest" \
|
|
||||||
-t "docker.io/ztimson/kiwixm:latest" \
|
|
||||||
--push .
|
|
||||||
fi
|
|
||||||
|
|||||||
Reference in New Issue
Block a user