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: Checkout Repository uses: actions/checkout@v4 - 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