fix: circuit breaker for dispatcher reassignment (#1144) #359
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
tags: | |
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10 | |
name: Create prerelease w/ binaries and static assets | |
jobs: | |
build-push-hatchet-api-amd: | |
name: hatchet-api | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}}-amd64 \ | |
--build-arg SERVER_TARGET=api \ | |
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \ | |
--platform linux/amd64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}}-amd64 | |
build-push-hatchet-api-arm: | |
name: hatchet-api | |
runs-on: hatchet-arm64-2 | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}}-arm64 \ | |
--build-arg SERVER_TARGET=api \ | |
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \ | |
--platform linux/arm64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}}-arm64 | |
build-push-hatchet-api: | |
name: Combine hatchet-api | |
runs-on: ubuntu-latest | |
needs: | |
- build-push-hatchet-api-amd | |
- build-push-hatchet-api-arm | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Pull amd64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}}-amd64 | |
- name: Pull arm64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}}-arm64 | |
- name: Combine | |
run: | | |
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}} \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}}-amd64 \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}}-arm64 | |
docker manifest push ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}} | |
build-push-hatchet-admin-amd: | |
name: hatchet-admin | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}}-amd64 \ | |
--build-arg SERVER_TARGET=admin \ | |
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \ | |
--platform linux/amd64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}}-amd64 | |
build-push-hatchet-admin-arm: | |
name: hatchet-admin | |
runs-on: hatchet-arm64-2 | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}}-arm64 \ | |
--build-arg SERVER_TARGET=admin \ | |
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \ | |
--platform linux/arm64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}}-arm64 | |
build-push-hatchet-admin: | |
name: Combine hatchet-admin | |
runs-on: ubuntu-latest | |
needs: | |
- build-push-hatchet-admin-amd | |
- build-push-hatchet-admin-arm | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Pull amd64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}}-amd64 | |
- name: Pull arm64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}}-arm64 | |
- name: Combine | |
run: | | |
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}} \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}}-amd64 \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}}-arm64 | |
docker manifest push ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}} | |
build-push-hatchet-engine-amd: | |
name: hatchet-engine | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}}-amd64 \ | |
--build-arg SERVER_TARGET=engine \ | |
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \ | |
--platform linux/amd64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}}-amd64 | |
build-push-hatchet-engine-arm: | |
name: hatchet-engine | |
runs-on: hatchet-arm64-2 | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}}-arm64 \ | |
--build-arg SERVER_TARGET=engine \ | |
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \ | |
--platform linux/arm64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}}-arm64 | |
build-push-hatchet-engine: | |
name: Combine hatchet-engine | |
runs-on: ubuntu-latest | |
needs: | |
- build-push-hatchet-engine-amd | |
- build-push-hatchet-engine-arm | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Pull amd64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}}-amd64 | |
- name: Pull arm64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}}-arm64 | |
- name: Combine | |
run: | | |
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}} \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}}-amd64 \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}}-arm64 | |
docker manifest push ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}} | |
build-push-hatchet-migrate-amd: | |
name: hatchet-migrate | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/migrate.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}}-amd64 \ | |
--platform linux/amd64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}}-amd64 | |
build-push-hatchet-migrate-arm: | |
name: hatchet-migrate | |
runs-on: hatchet-arm64-2 | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/migrate.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}}-arm64 \ | |
--platform linux/arm64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}}-arm64 | |
build-push-hatchet-migrate: | |
name: Combine hatchet-migrate | |
runs-on: ubuntu-latest | |
needs: | |
- build-push-hatchet-migrate-amd | |
- build-push-hatchet-migrate-arm | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Pull amd64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}}-amd64 | |
- name: Pull arm64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}}-arm64 | |
- name: Combine | |
run: | | |
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}} \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}}-amd64 \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}}-arm64 | |
docker manifest push ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}} | |
build-push-hatchet-frontend-amd: | |
name: hatchet-frontend | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/frontend.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}}-amd64 \ | |
--platform linux/amd64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}}-amd64 | |
build-push-hatchet-frontend-arm: | |
name: hatchet-frontend | |
runs-on: hatchet-arm64-2 | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/frontend.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}}-arm64 \ | |
--platform linux/arm64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}}-arm64 | |
build-push-hatchet-frontend: | |
name: Combine hatchet-frontend | |
runs-on: ubuntu-latest | |
needs: | |
- build-push-hatchet-frontend-amd | |
- build-push-hatchet-frontend-arm | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Pull amd64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}}-amd64 | |
- name: Pull arm64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}}-arm64 | |
- name: Combine | |
run: | | |
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}} \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}}-amd64 \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}}-arm64 | |
docker manifest push ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}} | |
build-push-hatchet-lite-amd: | |
name: hatchet-lite-amd | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
--build-arg SERVER_TARGET=lite \ | |
--platform linux/amd64 \ | |
-t hatchet-lite-tmp:amd64 \ | |
. & | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
--build-arg SERVER_TARGET=admin \ | |
--platform linux/amd64 \ | |
-t hatchet-admin-tmp:amd64 \ | |
. & | |
wait | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/lite.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}}-amd64 \ | |
--platform linux/amd64 \ | |
--build-arg HATCHET_LITE_IMAGE=hatchet-lite-tmp:amd64 \ | |
--build-arg HATCHET_ADMIN_IMAGE=hatchet-admin-tmp:amd64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}}-amd64 | |
build-push-hatchet-lite-arm: | |
name: hatchet-lite-arm | |
runs-on: hatchet-arm64-2 | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
--build-arg SERVER_TARGET=lite \ | |
--platform linux/arm64 \ | |
-t hatchet-lite-tmp:arm64 \ | |
. & | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
--build-arg SERVER_TARGET=admin \ | |
--platform linux/arm64 \ | |
-t hatchet-admin-tmp:arm64 \ | |
. & | |
wait | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/lite.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}}-arm64 \ | |
--platform linux/arm64 \ | |
--build-arg HATCHET_LITE_IMAGE=hatchet-lite-tmp:arm64 \ | |
--build-arg HATCHET_ADMIN_IMAGE=hatchet-admin-tmp:arm64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}}-arm64 | |
combine-hatchet-lite: | |
name: Combine hatchet-lite | |
runs-on: ubuntu-latest | |
needs: | |
- build-push-hatchet-lite-amd | |
- build-push-hatchet-lite-arm | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Pull amd64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}}-amd64 | |
- name: Pull arm64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}}-arm64 | |
- name: Combine | |
run: | | |
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}} \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}}-amd64 \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}}-arm64 | |
docker manifest push ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}} | |
build-push-hatchet-dashboard-amd: | |
name: hatchet-dashboard-amd | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
--build-arg SERVER_TARGET=api \ | |
--platform linux/amd64 \ | |
-t hatchet-api-tmp:amd64 \ | |
. | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/dashboard.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}}-amd64 \ | |
--platform linux/amd64 \ | |
--build-arg HATCHET_API_IMAGE=hatchet-api-tmp:amd64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}}-amd64 | |
build-push-hatchet-dashboard-arm: | |
name: hatchet-dashboard-arm | |
runs-on: hatchet-arm64-2 | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build | |
run: | | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \ | |
--build-arg SERVER_TARGET=api \ | |
--platform linux/arm64 \ | |
-t hatchet-api-tmp:arm64 \ | |
. | |
DOCKER_BUILDKIT=1 docker build -f ./build/package/dashboard.dockerfile \ | |
-t ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}}-arm64 \ | |
--platform linux/arm64 \ | |
--build-arg HATCHET_API_IMAGE=hatchet-api-tmp:arm64 \ | |
. | |
- name: Push to GHCR | |
run: | | |
docker push ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}}-arm64 | |
combine-hatchet-dashboard: | |
name: Combine hatchet-dashboard | |
runs-on: ubuntu-latest | |
needs: | |
- build-push-hatchet-dashboard-amd | |
- build-push-hatchet-dashboard-arm | |
steps: | |
- name: Get tag name | |
id: tag_name | |
run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
id: login-ghcr | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Pull amd64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}}-amd64 | |
- name: Pull arm64 | |
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}}-arm64 | |
- name: Combine | |
run: | | |
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}} \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}}-amd64 \ | |
ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}}-arm64 | |
docker manifest push ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}} |