mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-02-19 14:49:10 -06:00
727 lines
30 KiB
YAML
727 lines
30 KiB
YAML
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@v5
|
|
- 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@v5
|
|
- 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@v5
|
|
- 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@v5
|
|
- 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@v5
|
|
- 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@v5
|
|
- 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@v5
|
|
- 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@v5
|
|
- 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@v5
|
|
- 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@v5
|
|
- 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 \
|
|
--build-arg SERVER_TARGET=migrate \
|
|
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \
|
|
-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@v5
|
|
- 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 \
|
|
--build-arg SERVER_TARGET=migrate \
|
|
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \
|
|
-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@v5
|
|
- 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@v5
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
- name: Generate docs snippets and examples
|
|
working-directory: frontend/snippets
|
|
run: python3 generate.py
|
|
- 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@v5
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
- name: Generate docs snippets and examples
|
|
working-directory: frontend/snippets
|
|
run: python3 generate.py
|
|
- 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@v5
|
|
- 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@v5
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
- name: Generate docs snippets and examples
|
|
working-directory: frontend/snippets
|
|
run: python3 generate.py
|
|
- 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 \
|
|
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \
|
|
--platform linux/amd64 \
|
|
-t hatchet-lite-tmp:amd64 \
|
|
. &
|
|
|
|
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \
|
|
--build-arg SERVER_TARGET=admin \
|
|
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \
|
|
--platform linux/amd64 \
|
|
-t hatchet-admin-tmp:amd64 \
|
|
. &
|
|
|
|
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \
|
|
--build-arg SERVER_TARGET=migrate \
|
|
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \
|
|
--platform linux/amd64 \
|
|
-t hatchet-migrate-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 \
|
|
--build-arg HATCHET_MIGRATE_IMAGE=hatchet-migrate-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@v5
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
- name: Generate docs snippets and examples
|
|
working-directory: frontend/snippets
|
|
run: python3 generate.py
|
|
- 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 \
|
|
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \
|
|
--platform linux/arm64 \
|
|
-t hatchet-lite-tmp:arm64 \
|
|
. &
|
|
|
|
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \
|
|
--build-arg SERVER_TARGET=admin \
|
|
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \
|
|
--platform linux/arm64 \
|
|
-t hatchet-admin-tmp:arm64 \
|
|
. &
|
|
|
|
DOCKER_BUILDKIT=1 docker build -f ./build/package/servers.dockerfile \
|
|
--build-arg SERVER_TARGET=migrate \
|
|
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \
|
|
--platform linux/arm64 \
|
|
-t hatchet-migrate-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 \
|
|
--build-arg HATCHET_MIGRATE_IMAGE=hatchet-migrate-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@v5
|
|
- 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@v5
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
- name: Generate docs snippets and examples
|
|
working-directory: frontend/snippets
|
|
run: python3 generate.py
|
|
- 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 \
|
|
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \
|
|
--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@v5
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
- name: Generate docs snippets and examples
|
|
working-directory: frontend/snippets
|
|
run: python3 generate.py
|
|
- 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 \
|
|
--build-arg VERSION=${{steps.tag_name.outputs.tag}} \
|
|
--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@v5
|
|
- 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}}
|
|
build-push-hatchet-loadtest-amd:
|
|
name: hatchet-loadtest
|
|
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@v5
|
|
- 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/loadtest.dockerfile \
|
|
-t ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}}-amd64 \
|
|
--platform linux/amd64 \
|
|
.
|
|
- name: Push to GHCR
|
|
run: |
|
|
docker push ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}}-amd64
|
|
build-push-hatchet-loadtest-arm:
|
|
name: hatchet-loadtest
|
|
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@v5
|
|
- 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/loadtest.dockerfile \
|
|
-t ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}}-arm64 \
|
|
--platform linux/arm64 \
|
|
.
|
|
- name: Push to GHCR
|
|
run: |
|
|
docker push ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}}-arm64
|
|
build-push-hatchet-loadtest:
|
|
name: Combine hatchet-loadtest
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- build-push-hatchet-loadtest-amd
|
|
- build-push-hatchet-loadtest-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@v5
|
|
- 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-loadtest:${{steps.tag_name.outputs.tag}}-amd64
|
|
- name: Pull arm64
|
|
run: docker pull ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}}-arm64
|
|
- name: Combine
|
|
run: |
|
|
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}} \
|
|
ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}}-amd64 \
|
|
ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}}-arm64
|
|
docker manifest push ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}}
|