Files
hatchet/.github/workflows/release.yaml
dependabot[bot] 9b66c34eac chore(deps): bump actions/setup-go from 6.2.0 to 6.3.0 (#3108)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](7a3fe6cf4c...4b73464bb3)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-26 04:24:00 +00:00

148 lines
6.8 KiB
YAML

on:
release:
types: [released]
workflow_dispatch:
inputs:
tag:
description: "Tag to use for the release"
required: true
name: Release
jobs:
load:
runs-on: ubicloud-standard-8
timeout-minutes: 30
strategy:
matrix:
migrate-strategy: ["latest"]
rabbitmq-enabled: ["true", "false"]
pg-version: ["15-alpine", "16-alpine", "17-alpine"]
optimistic-scheduling: ["true", "false"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install Task
uses: arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Go
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version: "1.25"
- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0
with:
version: 10.16.1
run_install: false
- name: Go deps
run: go mod download
- name: Test
run: |
go test -tags load ./... -p 5 -v -race -failfast -timeout 20m
env:
TESTING_MATRIX_MIGRATE: ${{ matrix.migrate-strategy }}
TESTING_MATRIX_RABBITMQ_ENABLED: ${{ matrix.rabbitmq-enabled }}
TESTING_MATRIX_PG_VERSION: ${{ matrix.pg-version }}
push-hatchet-server:
name: Push latest
runs-on: ubicloud-standard-2
steps:
- name: Get tag name
id: tag_name
run: |
if [ -z "${{ github.event.inputs.tag }}" ]; then
tag=${GITHUB_TAG/refs\/tags\//}
else
tag=${{ github.event.inputs.tag }}
fi
echo ::set-output name=tag::$tag
env:
GITHUB_TAG: ${{ github.ref }}
- name: Login to GHCR
id: login-ghcr
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Pull and push hatchet-api
run: |
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}}-arm64
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-api:${{steps.tag_name.outputs.tag}}-amd64
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-api:latest \
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:latest
- name: Pull and push hatchet-engine
run: |
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}}-arm64
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-engine:${{steps.tag_name.outputs.tag}}-amd64
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-engine:latest \
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:latest
- name: Pull and push hatchet-admin
run: |
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}}-arm64
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-admin:${{steps.tag_name.outputs.tag}}-amd64
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-admin:latest \
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:latest
- name: Pull and push hatchet-frontend
run: |
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}}-arm64
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-frontend:${{steps.tag_name.outputs.tag}}-amd64
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-frontend:latest \
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:latest
- name: Pull and push hatchet-migrate
run: |
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}}-arm64
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-migrate:${{steps.tag_name.outputs.tag}}-amd64
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-migrate:latest \
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:latest
- name: Pull and push hatchet-lite
run: |
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}}-arm64
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-lite:${{steps.tag_name.outputs.tag}}-amd64
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-lite:latest \
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:latest
- name: Pull and push hatchet-dashboard
run: |
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}}-arm64
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:${{steps.tag_name.outputs.tag}}-amd64
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:latest \
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:latest
- name: Pull and push hatchet-loadtest
run: |
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}}-arm64
docker pull ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:${{steps.tag_name.outputs.tag}}-amd64
docker manifest create ghcr.io/hatchet-dev/hatchet/hatchet-loadtest:latest \
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:latest