62 lines
2.0 KiB
YAML
62 lines
2.0 KiB
YAML
name: Build Website
|
|
run-name: Build Website
|
|
|
|
on:
|
|
push:
|
|
|
|
jobs:
|
|
tag:
|
|
name: Tag Version
|
|
runs-on: ubuntu-latest
|
|
container: node
|
|
steps:
|
|
- name: Clone Repository
|
|
uses: ztimson/actions/clone@develop
|
|
|
|
- name: Get Version Number
|
|
run: echo "VERSION=$(cat package.json | grep version | grep -Eo ':.+' | grep -Eo '[[:alnum:]\.\/\-]+')" >> $GITHUB_ENV
|
|
|
|
- name: Tag Version
|
|
uses: ztimson/actions/tag@develop
|
|
with:
|
|
tag: ${{env.VERSION}}
|
|
|
|
docker:
|
|
name: Build Dockerfile
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Clone Repository
|
|
uses: ztimson/actions/clone@develop
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
|
|
- name: Build Image
|
|
run: |
|
|
REGISTRY=$(echo ${{github.server_url}} | sed s%http://%% | sed s%https://%%)
|
|
docker build -t "$REGISTRY/${{github.repository}}:${{github.ref_name}}" .
|
|
|
|
- name: Publish Latest Tag
|
|
run: |
|
|
if [ "${{github.ref_name}}" = "master" ]; then
|
|
REGISTRY=$(echo ${{github.server_url}} | sed s%http://%% | sed s%https://%%)
|
|
docker login -u "${{github.repository_owner}}" -p "${{secrets.DEPLOY_TOKEN}}" "$REGISTRY"
|
|
docker login -u "${{secrets.DOCKER_HUB_USER}}" -p "${{secrets.DOCKER_HUB_TOKEN}}" docker.io
|
|
|
|
# Build and push multi-platform images
|
|
docker buildx build \
|
|
--platform linux/amd64,linux/arm64 \
|
|
-t "$REGISTRY/${{github.repository}}:latest" \
|
|
-t "$REGISTRY/${{github.repository}}:arm64-latest" \
|
|
--push .
|
|
|
|
docker buildx build \
|
|
--platform linux/amd64,linux/arm64 \
|
|
-t "docker.io/ztimson/kiwixm:latest" \
|
|
-t "docker.io/ztimson/kiwixm:arm64-latest" \
|
|
--push .
|
|
fi
|