rebrand: go.temporal.io/server -> github.com/hanzoai/tasks

Full module path rebrand from Temporal to Hanzo Tasks:
- go.mod module: github.com/hanzoai/tasks
- All internal Go imports updated (1906 files)
- cmd/server renamed to cmd/tasksd
- Binary name: tasksd (was temporal-server)
- Docker images: hanzoai/tasks (was temporalio/server)
- README rewritten with Hanzo Tasks branding
- LLM.md created with integration notes
- Makefile, goreleaser, CI workflows updated
- go.temporal.io/sdk and go.temporal.io/api imports preserved (separate repos)

Fork of Temporal.io (MIT license).
This commit is contained in:
2026-03-19 10:36:40 -07:00
parent 5e565937cf
commit 5a601d081b
1938 changed files with 11160 additions and 13134 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ develop/docker-compose
# exclude binaries from the docker build context
tdbg
temporal-server
tasksd
temporal-cassandra-tool
temporal-sql-tool
temporal-elasticsearch-tool
+1 -1
View File
@@ -1,4 +1,4 @@
# Syntax is here:
# https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax
* @temporalio/server @temporalio/cgs
* @hanzoai/tasks
@@ -93,7 +93,7 @@ runs:
shell: bash
working-directory: ${{ github.workspace }}
run: |
.github/actions/build-docker-images/scripts/docker-build-helper extract-binary-version temporal-server server-version
.github/actions/build-docker-images/scripts/docker-build-helper extract-binary-version tasksd server-version
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
@@ -199,7 +199,7 @@ func organizeBinaries() error {
// Server binaries (for server image)
serverBinaries := []string{
"temporal-server",
"tasksd",
}
// All binaries to copy
@@ -291,7 +291,7 @@ func organizeBinaries() error {
// Check which architectures have binaries
var availableArchs []string
for _, arch := range archs {
testBinary := filepath.Join("docker", "build", arch, "temporal-server")
testBinary := filepath.Join("docker", "build", arch, "tasksd")
if _, err := os.Stat(testBinary); err == nil {
availableArchs = append(availableArchs, arch)
}
@@ -1,17 +0,0 @@
name: Auto-approve temporal-cicd[bot] PRs on cloud release branches
on:
pull_request:
branches:
- cloud/**
permissions:
contents: write
pull-requests: write
jobs:
auto_approve:
runs-on: ubuntu-latest
if: ${{ github.actor == 'temporal-cicd[bot]' }}
steps:
- name: Approve PR
run: gh pr review --approve ${{ github.event.pull_request.html_url }}
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
-62
View File
@@ -1,62 +0,0 @@
name: Build and Publish
on:
push:
branches:
- main
- cloud/*
- feature/*
- release/*
permissions:
contents: read
jobs:
build-and-push-docker:
runs-on: ubuntu-latest
# Only push for main, cloud, release branches (not feature)
if: |
github.ref == 'refs/heads/main' ||
startsWith(github.ref, 'refs/heads/cloud/') ||
startsWith(github.ref, 'refs/heads/release/')
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ github.ref }}
fetch-depth: 0
- name: Build binaries
uses: ./.github/actions/build-binaries
with:
snapshot: true
- name: Build and push Docker images
uses: ./.github/actions/build-docker-images
with:
push: true
tag-latest: ${{ github.ref == 'refs/heads/main' }}
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
# For feature branches, just build (no push)
build-docker-feature:
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/heads/feature/')
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ github.ref }}
fetch-depth: 0
- name: Build binaries
uses: ./.github/actions/build-binaries
with:
snapshot: true
- name: Build Docker images
uses: ./.github/actions/build-docker-images
with:
push: false
tag-latest: false
@@ -1,59 +0,0 @@
name: Validate PR description for placeholder lines or empty sections
on:
pull_request:
types: [opened, edited, synchronize, reopened]
permissions:
pull-requests: read
jobs:
validate-pr-description:
runs-on: ubuntu-latest
steps:
- name: Validate PR description for placeholder lines or empty sections
uses: actions/github-script@v8
with:
script: |
const pr = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.payload.pull_request.number
});
const body = pr.data.body || '';
const lines = body.split(/\r?\n/);
let violations = [];
// Detect placeholder lines: entire line starts and ends with _
lines.forEach((line, idx) => {
if (/^_.*_$/.test(line.trim())) {
violations.push(`Line ${idx + 1}: Placeholder "${line.trim()}"`);
}
});
// Detect empty sections: look for headers like '## Why?' followed by no meaningful content
const requiredSections = ['## What changed?', '## Why?', '## How did you test it?'];
requiredSections.forEach((header) => {
const idx = lines.findIndex(line => line.trim().toLowerCase() === header.toLowerCase());
if (idx !== -1) {
let contentIdx = idx + 1;
while (contentIdx < lines.length && lines[contentIdx].trim() === '') {
contentIdx++;
}
const nextLine = lines[contentIdx]?.trim();
if (!nextLine || /^## /.test(nextLine)) {
violations.push(`Section "${header}" appears to be empty.`);
}
}
});
if (violations.length > 0) {
console.log("❌ PR description issues found:");
violations.forEach(v => console.log(`- ${v}`));
core.setFailed(`PR description must not contain placeholders or empty sections.`);
} else {
console.log("✅ PR description passed all checks.");
}
@@ -1,59 +0,0 @@
name: Check Release Dependencies
on:
pull_request: {}
permissions:
contents: read
jobs:
check-dependencies:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
if: >-
startsWith('release/', github.event.pull_request.base.ref) ||
startsWith('cloud/', github.event.pull_request.base.ref)
- name: Check temporal dependencies use tagged versions
if: >-
startsWith('release/', github.event.pull_request.base.ref) ||
startsWith('cloud/', github.event.pull_request.base.ref)
run: |
echo "Checking that temporal dependencies use tagged versions..."
# Semantic version regex pattern (e.g., v1.2.3)
SEMVER_PATTERN="^v[0-9]+\.[0-9]+\.[0-9]+$"
DEPENDENCIES=(
"go.temporal.io/api"
"go.temporal.io/sdk"
)
ERRORS=""
for DEPENDENCY in "${DEPENDENCIES[@]}"; do
VERSION=$(grep "^[[:space:]]*$DEPENDENCY" go.mod | awk '{print $2}')
if [ -z "$VERSION" ]; then
echo "Error: $DEPENDENCY dependency not found in go.mod"
exit 1
fi
if ! echo "$VERSION" | grep -qE "$SEMVER_PATTERN"; then
ERRORS="${ERRORS} $DEPENDENCY version '$VERSION' is not using a tagged version\n"
fi
done
if [ -n "$ERRORS" ]; then
echo "Dependency version check failed:"
echo -e "$ERRORS"
echo ""
echo "For release branches, temporal dependencies must point to tagged"
echo "versions (e.g., v1.2.3) rather than specific commits."
echo ""
echo "Please update your go.mod file to use proper semantic version tags."
exit 1
fi
echo "All temporal dependencies are using tagged versions"
-72
View File
@@ -1,72 +0,0 @@
name: CI Success Report
on:
schedule:
# Run on Tuesdays at noon Eastern time (5 PM UTC)
- cron: '0 17 * * 2'
workflow_dispatch:
inputs:
days:
description: 'Number of days to include in report'
required: false
default: '7'
type: string
workflow:
description: 'Workflow name to report on'
required: false
default: 'All Tests'
type: string
branch:
description: 'Branch to generate report for'
required: false
default: 'main'
type: string
permissions:
contents: read
actions: read
jobs:
ci-success-report:
runs-on: ubuntu-latest
steps:
- name: Generate token
id: generate_token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.TEMPORAL_CICD_APP_ID }}
private-key: ${{ secrets.TEMPORAL_CICD_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
- name: Checkout repository
uses: actions/checkout@v6
with:
persist-credentials: false
token: ${{ steps.generate_token.outputs.token }}
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Generate CI Success Report
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
DAYS_PARAM: ${{ github.event.inputs.days || '7' }}
WORKFLOW_PARAM: ${{ github.event.inputs.workflow || 'All Tests' }}
BRANCH_PARAM: ${{ github.event.inputs.branch || 'main' }}
run: |
set -euo pipefail
echo "Branch: $BRANCH_PARAM"
echo "Workflow: $WORKFLOW_PARAM"
echo "Days: $DAYS_PARAM"
go run ./cmd/tools/ci-notify/main.go digest \
--branch "$BRANCH_PARAM" \
--workflow "$WORKFLOW_PARAM" \
--days "$DAYS_PARAM" \
--slack-webhook "$SLACK_WEBHOOK"
echo "Report sent successfully"
-113
View File
@@ -1,113 +0,0 @@
name: Manual Docker Build
# Dispatch this workflow from the branch you want to build from.
on:
workflow_dispatch:
inputs:
alpine-tag:
description: "Alpine base image tag (e.g., 3.23.3)"
required: true
default: "3.23.3"
push:
description: "Push images to Docker Hub"
required: true
type: boolean
default: false
tag-latest:
description: "Tag images as latest"
required: true
type: boolean
default: false
platform:
description: "Platform to build (leave empty for multi-arch, or specify linux/amd64 or linux/arm64)"
required: false
default: ""
snapshot:
description: "Build in snapshot mode (for non-release builds)"
required: true
type: boolean
default: true
permissions:
contents: read
jobs:
build-docker:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Determine single-arch parameter
id: arch-param
env:
PLATFORM: ${{ inputs.platform }}
run: |
if [ -n "${PLATFORM}" ]; then
# Extract arch from platform (e.g., linux/amd64 -> amd64)
ARCH=$(echo "${PLATFORM}" | cut -d'/' -f2)
echo "single-arch=${ARCH}" >> "$GITHUB_OUTPUT"
else
echo "single-arch=" >> "$GITHUB_OUTPUT"
fi
- name: Build binaries
uses: ./.github/actions/build-binaries
with:
snapshot: ${{ inputs.snapshot }}
single-arch: ${{ steps.arch-param.outputs.single-arch }}
- name: Build Docker images
id: build-docker
if: ${{ !inputs.push }}
uses: ./.github/actions/build-docker-images
with:
push: false
tag-latest: ${{ inputs.tag-latest }}
platform: ${{ inputs.platform }}
alpine-tag: ${{ inputs.alpine-tag }}
load: ${{ inputs.platform == 'linux/amd64' || inputs.platform == '' }}
- name: Build and push Docker images
id: push-docker
if: ${{ inputs.push }}
uses: ./.github/actions/build-docker-images
with:
push: true
tag-latest: ${{ inputs.tag-latest }}
platform: ${{ inputs.platform }}
alpine-tag: ${{ inputs.alpine-tag }}
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Output image tags
env:
SHA_TAG: ${{ steps.build-docker.outputs.sha-tag || steps.push-docker.outputs.sha-tag }}
SHA_FULL_TAG: ${{ steps.build-docker.outputs.sha-full-tag || steps.push-docker.outputs.sha-full-tag }}
BRANCH_TAG: ${{ steps.build-docker.outputs.branch-tag || steps.push-docker.outputs.branch-tag }}
REF_NAME: ${{ github.ref_name }}
PLATFORM: ${{ inputs.platform || 'linux/amd64,linux/arm64' }}
PUSHED: ${{ inputs.push }}
TAG_LATEST: ${{ inputs.tag-latest }}
run: |
{
echo "### Docker Images Built"
echo ""
echo "**Branch:** ${REF_NAME}"
echo "**Short SHA Tag:** ${SHA_TAG}"
echo "**Full SHA Tag:** ${SHA_FULL_TAG}"
echo "**Branch Tag:** ${BRANCH_TAG}"
echo "**Platform:** ${PLATFORM}"
echo "**Pushed to Docker Hub:** ${PUSHED}"
echo "**Tagged as latest:** ${TAG_LATEST}"
echo ""
echo "**Image Tags:**"
echo "- temporaliotest/server:${SHA_TAG}"
echo "- temporaliotest/admin-tools:${SHA_TAG}"
echo "- temporaliotest/server:${SHA_FULL_TAG}"
echo "- temporaliotest/admin-tools:${SHA_FULL_TAG}"
echo "- temporaliotest/server:${BRANCH_TAG}"
echo "- temporaliotest/admin-tools:${BRANCH_TAG}"
} >> "$GITHUB_STEP_SUMMARY"
-154
View File
@@ -1,154 +0,0 @@
name: Features Integration
on: # rebuild any PRs and main branch changes
pull_request:
push:
branches:
- main
permissions: read-all
concurrency: # Auto-cancel existing runs in the PR when a new commit is pushed
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build-docker-image:
runs-on: ubuntu-latest
permissions:
actions: write
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
fetch-depth: 0
- name: Build binaries
uses: ./.github/actions/build-binaries
with:
snapshot: true
single-arch: amd64
- name: Build Docker images
id: build-docker
uses: ./.github/actions/build-docker-images
with:
push: false
tag-latest: false
platform: linux/amd64
load: true
- name: Save Docker image as artifact
env:
BRANCH_TAG: ${{ steps.build-docker.outputs.branch-tag }}
run: |
docker save "temporaliotest/server:${BRANCH_TAG}" -o /tmp/temporal-server.tar
docker save "temporaliotest/admin-tools:${BRANCH_TAG}" -o /tmp/temporal-admin-tools.tar
echo "${BRANCH_TAG}" > /tmp/image_tag
- name: Prepare artifact
working-directory: ${{ github.workspace }}
run: |
# Upload-artifact has no good way to flatten paths, so we need to move the compose file
# to avoid some disgustingly long inner path inside the artifact zip.
cp ./develop/docker-compose/docker-compose.yml /tmp/docker-compose.yml
- name: Upload Docker artifact
uses: actions/upload-artifact@v4
with:
name: temporal-server-docker
path: |
/tmp/temporal-server.tar
/tmp/temporal-admin-tools.tar
/tmp/image_tag
/tmp/docker-compose.yml
retention-days: 7
feature-tests-ts:
needs: build-docker-image
uses: temporalio/features/.github/workflows/typescript.yaml@main
with:
# This field is not actually used by these workflow if docker-image-artifact-name
# is set, but it's marked as required, so supply some string.
version: __latest_features_docker_image__
version-is-repo-ref: false
docker-image-artifact-name: temporal-server-docker
feature-tests-go:
needs: build-docker-image
uses: temporalio/features/.github/workflows/go.yaml@main
with:
version: __latest_features_docker_image__
version-is-repo-ref: false
docker-image-artifact-name: temporal-server-docker
feature-tests-go-chasm-scheduler:
needs: build-docker-image
uses: temporalio/features/.github/workflows/go.yaml@main
with:
version: __latest_features_docker_image__
version-is-repo-ref: false
docker-image-artifact-name: temporal-server-docker
dynamic-config-values: |
history.enableTransitionHistory:
- value: true
history.enableChasm:
- value: true
history.enableCHASMSchedulerCreation:
- value: true
feature-tests-python:
needs: build-docker-image
uses: temporalio/features/.github/workflows/python.yaml@main
with:
version: __latest_features_docker_image__
version-is-repo-ref: false
docker-image-artifact-name: temporal-server-docker
feature-tests-java:
needs: build-docker-image
uses: temporalio/features/.github/workflows/java.yaml@main
with:
version: __latest_features_docker_image__
version-is-repo-ref: false
docker-image-artifact-name: temporal-server-docker
feature-tests-dotnet:
needs: build-docker-image
uses: temporalio/features/.github/workflows/dotnet.yaml@main
with:
version: __latest_features_docker_image__
version-is-repo-ref: false
docker-image-artifact-name: temporal-server-docker
feature-tests-ruby:
needs: build-docker-image
uses: temporalio/features/.github/workflows/ruby.yaml@main
with:
version: __latest_features_docker_image__
version-is-repo-ref: false
docker-image-artifact-name: temporal-server-docker
feature-tests-status:
name: Tests Status
needs:
- feature-tests-ts
- feature-tests-go
- feature-tests-go-chasm-scheduler
- feature-tests-python
- feature-tests-java
- feature-tests-dotnet
- feature-tests-ruby
runs-on: ubuntu-latest
if: always()
env:
RESULTS: ${{ toJSON(needs.*.result) }}
steps:
- name: Check results
run: |
if [[ -n $(echo "$RESULTS" | jq '.[] | select (. != "success")') ]]; then
exit 1
fi
-76
View File
@@ -1,76 +0,0 @@
name: Flaky Tests Report
on:
schedule:
# Run on Wednesdays at noon Eastern time (5 PM UTC)
- cron: "0 17 * * 3"
workflow_dispatch:
inputs:
days:
description: "Number of days to look back for flaky tests"
required: false
default: "7"
type: string
max_links:
description: "Maximum number of failure links to show per test"
required: false
default: "3"
type: string
permissions:
contents: read
actions: read
jobs:
flaky-tests-report:
runs-on: ubuntu-latest
steps:
- name: Generate token
id: generate_token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.TEMPORAL_CICD_APP_ID }}
private-key: ${{ secrets.TEMPORAL_CICD_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
- name: Checkout repository
uses: actions/checkout@v6
with:
persist-credentials: false
token: ${{ steps.generate_token.outputs.token }}
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
- name: Generate flaky test report
id: process-flaky-tests
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
DAYS_PARAM: ${{ github.event.inputs.days || '7' }}
MAX_LINKS_PARAM: ${{ github.event.inputs.max_links || '3' }}
RUN_ID: ${{ github.run_id }}
REF_NAME: ${{ github.ref_name }}
SHA: ${{ github.sha }}
run: |
set -euo pipefail
go run ./cmd/tools/flakereport generate \
--days "$DAYS_PARAM" \
--max-links "$MAX_LINKS_PARAM" \
--output-dir tools/flakes/out \
--slack-webhook "$SLACK_WEBHOOK" \
--run-id "$RUN_ID" \
--ref-name "$REF_NAME" \
--sha "$SHA"
- name: Upload generated reports
uses: actions/upload-artifact@v4
if: steps.process-flaky-tests.outcome == 'success'
with:
name: flaky-tests-reports-${{ github.run_number }}
path: tools/flakes/out/*
retention-days: 30
-185
View File
@@ -1,185 +0,0 @@
name: linters
on:
pull_request:
permissions:
contents: read
jobs:
lint-actions:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
check-latest: true
cache: true
- name: lint actions
run: |
echo "::add-matcher::.github/actionlint-matcher.json"
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
make lint-actions
shell: bash
lint-protos:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
with:
submodules: true
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
check-latest: true
cache: true
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: lint protobuf definitions
run: |
make lint-protos
lint-api:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
with:
submodules: true
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
check-latest: true
cache: true
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: lint protobuf API definitions
run: |
make lint-api
lint-workflows:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
check-latest: true
cache: true
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: lint system workflows with workflowcheck
run: make workflowcheck
fmt:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
check-latest: true
cache: true
- name: format golang import statements
run: |
make fmt
- name: check-is-dirty
run: |
if [[ -n $(git status --porcelain) ]]; then
echo "Detected uncommitted changes."
git status
git diff
exit 1
fi
parallelize-tests:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
check-latest: true
cache: true
- name: check test parallelization
run: make parallelize-tests
- name: check-is-dirty
run: |
if [[ -n $(git status --porcelain) ]]; then
echo "Detected uncommitted changes after running parallelize-tests."
echo "Run 'make parallelize-tests' locally and commit the changes."
git status
git diff
exit 1
fi
golangci:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
check-latest: true
cache: true
- name: lint code
run: |
make GOLANGCI_LINT_FIX=false GOLANGCI_LINT_BASE_REV=HEAD~ lint-code
- name: check-is-dirty
run: |
if [[ -n $(git status --porcelain) ]]; then
echo "Detected uncommitted changes."
git status
git diff
exit 1
fi
linters-succeed:
name: All Linters Succeed
needs:
- fmt
- lint-api
- lint-protos
- lint-actions
- golangci
- parallelize-tests
runs-on: ubuntu-24.04-arm
if: always()
env:
RESULTS: ${{ toJSON(needs.*.result) }}
steps:
- name: Check results
run: |
if [[ -n $(echo "$RESULTS" | jq '.[] | select (. != "success")') ]]; then
exit 1
fi
@@ -1,78 +0,0 @@
name: Optimize Test Sharding
on:
schedule:
# Runs at 0700 UTC daily
- cron: "0 7 * * *"
workflow_dispatch: # Allow manual trigger
permissions:
contents: read
env:
SALT_FILE: tests/testcore/shard_salt.txt
BRANCH: auto/optimize-test-sharding
jobs:
update-salts:
runs-on: ubuntu-latest
steps:
- name: Generate GitHub token
id: generate-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ secrets.TEMPORAL_CICD_APP_ID }}
private-key: ${{ secrets.TEMPORAL_CICD_PRIVATE_KEY }}
owner: temporalio
- name: Checkout code
uses: actions/checkout@v6
with:
ref: main
token: ${{ steps.generate-token.outputs.token }}
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
- name: Optimize functional test sharding
run: |
# NOTE: shard count must match shards in run-tests.yml
go run ./cmd/tools/optimize-test-sharding \
-shards 3 \
-workflow run-tests.yml \
-artifact-pattern 'junit-xml--*shard*--functional-test' \
-file "${{ env.SALT_FILE }}" \
-threshold 0.05
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
- name: Create pull request
run: |
if git diff --quiet; then
echo "No changes to shard salt"
exit 0
fi
# Delete remote branch if it exists from a previous run.
# This will also close a previous, stuck PR if it exists.
git push origin --delete ${{ env.BRANCH }} 2>/dev/null || true
git config --local user.name 'Temporal Data'
git config --local user.email '[email protected]'
git checkout -b ${{ env.BRANCH }}
git add "${{ env.SALT_FILE }}"
git commit -m "Update test shard salt"
git push origin ${{ env.BRANCH }}
gh pr create \
--title "Update test shard salt" \
--body "Automatically generated by the optimize-test-sharding workflow."
gh pr merge ${{ env.BRANCH }} --auto --squash
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
@@ -1,25 +0,0 @@
name: Promote Admin Tools Image
on:
workflow_dispatch:
inputs:
source-tag:
description: "Source tag from temporaliotest registry (e.g. sha-abc123)"
required: true
target-tags:
description: "Target tags for temporalio registry (comma or newline separated, e.g., 1.29.1, latest)"
required: true
permissions:
contents: read
jobs:
promote:
uses: ./.github/workflows/promote-docker-image.yml
with:
image-name: admin-tools
source-tag: ${{ inputs.source-tag }}
target-tags: ${{ inputs.target-tags }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
-122
View File
@@ -1,122 +0,0 @@
name: Promote Docker Image
on:
workflow_call:
inputs:
image-name:
description: "Image name (e.g., server, admin-tools)"
required: true
type: string
source-tag:
description: "Source tag from temporaliotest registry (e.g. sha-abc123)"
required: true
type: string
target-tags:
description: "Target tags for temporalio registry (comma or newline separated, e.g., 1.29.1, latest)"
required: true
type: string
secrets:
DOCKERHUB_USERNAME:
required: true
DOCKERHUB_TOKEN:
required: true
jobs:
validate-inputs:
runs-on: ubuntu-latest
outputs:
source-tag-safe: ${{ steps.validate.outputs.source-tag }}
target-tags-safe: ${{ steps.validate.outputs.target-tags }}
steps:
- name: Validate input tags
id: validate
uses: actions/github-script@v8
env:
SOURCE_TAG: ${{ inputs.source-tag }}
TARGET_TAGS: ${{ inputs.target-tags }}
with:
script: |
const sourceTag = process.env.SOURCE_TAG;
const targetTagsInput = process.env.TARGET_TAGS;
// Source tag: must be short SHA (sha-XXXXXXX) or full sha256 digest
// Examples: sha-b5b2dfe, sha256:082943409e71ae50d8dd8693593070eac8173f01fb5bfd4970ae59e52176753e
const sourceTagPattern = /^sha-[a-f0-9]{7,}$|^sha256:[a-f0-9]{64}$/;
// Target tag: semantic version pattern (major.minor.patch.build or shorter)
// Examples: 1.29.1, 1.29.1.1, 1.29, latest
const targetTagPattern = /^(\d+\.)*\d+$|^latest$/;
// Validate source tag format
if (!sourceTagPattern.test(sourceTag)) {
core.setFailed('Error: Invalid source tag format. Must be sha-XXXXXXX or sha256:...');
return;
}
// Parse and validate target tags (split by newline or comma)
const targetTags = targetTagsInput
.split(/[\n,]/)
.map(tag => tag.trim())
.filter(tag => tag.length > 0);
if (targetTags.length === 0) {
core.setFailed('Error: At least one target tag must be provided');
return;
}
for (const tag of targetTags) {
if (!targetTagPattern.test(tag)) {
core.setFailed(`Error: Invalid target tag format: "${tag}". Must be semantic version (e.g., 1.29.1, 1.29.1.1) or "latest"`);
return;
}
}
core.setOutput('source-tag', sourceTag);
core.setOutput('target-tags', JSON.stringify(targetTags));
core.info('✓ Tag validation passed');
core.info(` Source: ${sourceTag}`);
core.info(` Target tags: ${targetTags.join(', ')}`);
promote:
needs: [validate-inputs]
runs-on: ubuntu-latest
steps:
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Pull, tag, and push image
uses: actions/github-script@v8
env:
SOURCE_TAG: ${{ needs.validate-inputs.outputs.source-tag-safe }}
TARGET_TAGS: ${{ needs.validate-inputs.outputs.target-tags-safe }}
IMAGE_NAME: ${{ inputs.image-name }}
with:
script: |
const { execSync } = require('child_process');
const sourceTag = process.env.SOURCE_TAG;
const targetTags = JSON.parse(process.env.TARGET_TAGS);
const imageName = process.env.IMAGE_NAME;
core.info(`Promoting ${imageName} image...`);
core.info(` From: temporaliotest/${imageName}:${sourceTag}`);
core.info(` To: ${targetTags.map(t => `temporalio/${imageName}:${t}`).join(', ')}`);
// Pull from test registry
core.info('Pulling source image...');
execSync(`docker pull temporaliotest/${imageName}:${sourceTag}`, { stdio: 'inherit' });
// Tag for each target tag
for (const targetTag of targetTags) {
core.info(`Tagging as temporalio/${imageName}:${targetTag}`);
execSync(`docker tag temporaliotest/${imageName}:${sourceTag} temporalio/${imageName}:${targetTag}`, { stdio: 'inherit' });
}
// Push all tags at once
core.info('Pushing all tags to production registry...');
execSync(`docker push --all-tags temporalio/${imageName}`, { stdio: 'inherit' });
core.info(`✓ ${imageName} image promoted successfully to all tags`);
@@ -1,25 +0,0 @@
name: Promote Server Image
on:
workflow_dispatch:
inputs:
source-tag:
description: "Source tag from temporaliotest registry (e.g. sha-abc123)"
required: true
target-tags:
description: "Target tags for temporalio registry (comma or newline separated, e.g., 1.29.1, latest)"
required: true
permissions:
contents: read
jobs:
promote:
uses: ./.github/workflows/promote-docker-image.yml
with:
image-name: server
source-tag: ${{ inputs.source-tag }}
target-tags: ${{ inputs.target-tags }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
-25
View File
@@ -1,25 +0,0 @@
name: Release
on:
release:
types:
- released
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ github.ref }}
fetch-depth: 0
- name: Build binaries
uses: ./.github/actions/build-binaries
with:
snapshot: false
release: true
-153
View File
@@ -1,153 +0,0 @@
name: Run Single Test
run-name: ${{ inputs.test_name }}${{ inputs.test_dbs }}
on:
workflow_dispatch:
inputs:
commit:
description: "Commit SHA"
required: true
run_functional_test:
description: "Run a functional test (otherwise unit test)"
type: boolean
default: true
unit_test_directory:
description: "[Unit Test Only] Directory to run unit tests in"
type: string
default: "./temporal"
n_runs:
description: "Number of times to repeat the test (start with n=25 or lower to avoid OOMKill)"
type: number
default: 1
test_name:
description: "Name of the test to run (e.g. 'TestFunctionalSuite/TestUpdateWorkflow')"
type: string
required: true
timeout_minutes:
description: "Test timeout in minutes"
type: number
default: 120
test_runner:
description: "Which runner to use. Choose higher RAM if your n_runs is high."
type: choice
default: "16GB RAM (ubuntu-latest)"
options:
- "16GB RAM (ubuntu-latest)"
- "64GB RAM (ubuntu-latest-16-cores)"
test_dbs:
description: '[Functional Test Only] DBs to test on (e.g. ["sqlite", "mysql8"])'
type: string
default: '["sqlite"]'
permissions:
contents: read
env:
COMMIT: ${{ inputs.commit }}
DOCKER_COMPOSE_FILE: ./develop/github/docker-compose.yml
TEMPORAL_VERSION_CHECK_DISABLED: 1
jobs:
unit-test:
if: ${{ inputs.run_functional_test != true }}
name: Unit test
runs-on: ${{ inputs.test_runner == '64GB RAM (ubuntu-latest-16-cores)' && 'ubuntu-latest-16-cores' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.COMMIT }}
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
- name: Run unit test
timeout-minutes: ${{ fromJSON(inputs.timeout_minutes) }}
run: make unit-test-coverage
env:
UNIT_TEST_DIRS: ${{ inputs.unit_test_directory }}
TEST_ARGS: "-run ${{ inputs.test_name }} -count ${{ inputs.n_runs }}"
TEST_TIMEOUT: "${{ inputs.timeout_minutes }}m"
functional-test:
if: ${{ inputs.run_functional_test == true }}
name: Functional test (${{ matrix.name }})
strategy:
fail-fast: false
matrix:
name:
- cass_es
- cass_es8
- cass_os2
- cass_os3
- sqlite
- mysql8
- postgres12
- postgres12_pgx
include:
- name: cass_es
persistence_type: nosql
persistence_driver: cassandra
containers: [cassandra, elasticsearch]
runs_on_override: ubuntu-latest-8-cores
- name: cass_es8
persistence_type: nosql
persistence_driver: cassandra
containers: [cassandra, elasticsearch8]
runs_on_override: ubuntu-latest-8-cores
- name: cass_os2
persistence_type: nosql
persistence_driver: cassandra
containers: [cassandra, opensearch2]
- name: cass_os3
persistence_type: nosql
persistence_driver: cassandra
containers: [cassandra, opensearch3]
- name: sqlite
persistence_type: sql
persistence_driver: sqlite
containers: []
- name: mysql8
persistence_type: sql
persistence_driver: mysql8
containers: [mysql]
- name: postgres12
persistence_type: sql
persistence_driver: postgres12
containers: [postgresql]
- name: postgres12_pgx
persistence_type: sql
persistence_driver: postgres12_pgx
containers: [postgresql]
runs-on: ${{ inputs.test_runner == '64GB RAM (ubuntu-latest-16-cores)' && 'ubuntu-latest-16-cores' || (matrix.runs_on_override || 'ubuntu-latest') }}
env:
PERSISTENCE_TYPE: ${{ matrix.persistence_type }}
PERSISTENCE_DRIVER: ${{ matrix.persistence_driver }}
steps:
- uses: actions/checkout@v6
if: ${{ contains(fromJSON(inputs.test_dbs), matrix.name) }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.COMMIT }}
- name: Start containerized dependencies
if: ${{ contains(fromJSON(inputs.test_dbs), matrix.name) && toJson(matrix.containers) != '[]' }}
uses: hoverkraft-tech/[email protected]
with:
compose-file: ${{ env.DOCKER_COMPOSE_FILE }}
services: "${{ join(matrix.containers, '\n') }}"
down-flags: -v
- uses: actions/setup-go@v6
if: ${{ contains(fromJSON(inputs.test_dbs), matrix.name) }}
with:
go-version-file: "go.mod"
- name: Run functional test
if: ${{ contains(fromJSON(inputs.test_dbs), matrix.name) }}
timeout-minutes: ${{ fromJSON(inputs.timeout_minutes) }}
run: make functional-test-coverage
env:
TEST_ARGS: "-run ${{ inputs.test_name }} -count ${{ inputs.n_runs }}"
TEST_TIMEOUT: "${{ inputs.timeout_minutes }}m"
-712
View File
@@ -1,712 +0,0 @@
name: All Tests
on:
pull_request:
push:
branches:
- main
- cloud/*
- feature/*
- release/*
permissions:
contents: read
concurrency: # Auto-cancel existing runs in the PR when a new commit is pushed
group: run-tests-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
# For pull_request: use the head of the PR branch (not the merge branch which is the default!)
# For push: use the pushed commit.
COMMIT: ${{ github.event.pull_request.head.sha || github.sha }}
PR_BASE_COMMIT: ${{ github.event.pull_request.base.sha }}
DOCKER_COMPOSE_FILE: ./develop/github/docker-compose.yml
TEMPORAL_VERSION_CHECK_DISABLED: 1
MAX_TEST_ATTEMPTS: 3
SHARD_COUNT: 3 # NOTE: must match shard count in optimize-test-sharding.yml
jobs:
test-setup:
name: Test setup
runs-on: ubuntu-latest
outputs:
job_matrix: ${{ steps.build_matrix.outputs.job_matrix }}
full_test_reason: ${{ steps.determine_scope.outputs.full_test_reason }}
runner_arm: ${{ steps.configure_runners.outputs.runner_arm }}
steps:
- name: Checkout Code
uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.COMMIT }}
fetch-depth: 0
- name: Fetch base branch
if: ${{ github.event_name == 'pull_request' }}
run: git fetch origin ${{ github.event.pull_request.base.ref }}:${{ github.event.pull_request.base.ref }}
- name: Compute merge base
if: ${{ github.event_name == 'pull_request' }}
run: |
MERGE_BASE="$(git merge-base "${{ env.COMMIT }}" "${{ github.event.pull_request.base.ref }}")"
echo "MERGE_BASE=${MERGE_BASE}" >> "$GITHUB_ENV"
# If possible, run the "abridged" jobs on PRs to save time.
#
# The goal is to still cover all persistence code paths:
# 1. SQL
# 2. NoSQL (ie Cassandra)
# 3. Elasticsearch/OpenSearch
# All other jobs for the remaining databases only run a small set of smoke tests.
#
# Exceptions to this optimization:
# 1. commit is not a PR
# 2. `test-all-dbs` label set on PR
# 3. changes to persistence packages were made
- name: Determine test scope
id: determine_scope
run: |
FULL_TEST_REASON=""
event_name="${{ github.event_name }}"
labels='${{ toJson(github.event.pull_request.labels.*.name) }}'
merge_base="${MERGE_BASE:-}"
echo "event_name=$event_name"
echo "labels=$labels"
echo "merge_base=$merge_base"
# Push events (main, release branches) run all tests on all DBs
if [[ "$event_name" == "push" ]]; then
FULL_TEST_REASON="Running full tests on all DBs (push event)."
# Check for test-all-dbs label
elif echo "$labels" | jq -e 'any(. == "test-all-dbs")' > /dev/null 2>&1; then
FULL_TEST_REASON="Running full tests on all DBs (test-all-dbs label)."
# Check for persistence code changes
elif [[ -n "$merge_base" ]]; then
echo "Changed persistence files:"
git diff --name-only "$merge_base" "$COMMIT" | grep -E "^(common/persistence/|schema/)" || echo "(none)"
if git diff --name-only "$merge_base" "$COMMIT" | grep -qE "^(common/persistence/|schema/)"; then
FULL_TEST_REASON="Running full tests on all DBs (persistence code changes)."
fi
fi
echo "full_test_reason=$FULL_TEST_REASON" >> "$GITHUB_OUTPUT"
- name: ${{ steps.determine_scope.outputs.full_test_reason && 'ℹ️ Full tests' || 'ℹ️ Smoke tests' }}
run: echo "::notice::${{ steps.determine_scope.outputs.full_test_reason || 'Running smoke tests on extended DBs. Add the test-all-dbs label to run all tests on all DBs.' }}"
- name: Configure runners
id: configure_runners
run: |
# Use 8-core runners for temporalio org, standard runners for forks
if [[ "${{ github.repository_owner }}" == "temporalio" ]]; then
runner_arm="ubuntu-24.04-arm64-8-cores"
else
runner_arm="ubuntu-24.04-arm"
fi
echo "runner_arm=$runner_arm" >> "$GITHUB_OUTPUT"
# Primary DBs always get full tests, extended DBs get smoke tests (1 job) in abridged PRs.
- name: Build job matrix
id: build_matrix
env:
FULL_TEST_REASON: ${{ steps.determine_scope.outputs.full_test_reason }}
DB_CONFIGS: |
cass_es:
persistence_type: nosql
persistence_driver: cassandra
containers: [cassandra, elasticsearch]
required: true
cass_es8:
persistence_type: nosql
persistence_driver: cassandra
containers: [cassandra, elasticsearch8]
cass_os2:
persistence_type: nosql
persistence_driver: cassandra
containers: [cassandra, opensearch2]
cass_os3:
persistence_type: nosql
persistence_driver: cassandra
containers: [cassandra, opensearch3]
sqlite:
persistence_type: sql
persistence_driver: sqlite
containers: []
mysql8:
persistence_type: sql
persistence_driver: mysql8
containers: [mysql]
postgres12:
persistence_type: sql
persistence_driver: postgres12
containers: [postgresql]
required: true
postgres12_pgx:
persistence_type: sql
persistence_driver: postgres12_pgx
containers: [postgresql]
JOB_TYPES: |
functest:
cmd: make functional-test-coverage
test_timeout: 35m
github_timeout: 40
sharded: true
smoke:
cmd: make functional-test-coverage
test_timeout: 5m
github_timeout: 10
test_args: '"-run=TestActivityTestSuite|TestSignalWorkflowTestSuite|TestWorkflowTestSuite"'
ndc:
cmd: make functional-test-ndc-coverage
test_timeout: 10m
github_timeout: 15
xdc:
cmd: make functional-test-xdc-coverage
test_timeout: 30m
github_timeout: 35
run: |
# Convert YAML inputs to JSON for jq.
DBS_JSON=$(yq -o=json <<< "$DB_CONFIGS")
JOBS_JSON=$(yq -o=json <<< "$JOB_TYPES")
# Build the job matrix as a JSON array.
MATRIX=$(
jq -c -n \
--argjson dbs "$DBS_JSON" \
--argjson jobs "$JOBS_JSON" \
--argjson shard_count "$SHARD_COUNT" \
--arg full_test_reason "$FULL_TEST_REASON" \
'
[
$dbs | to_entries[] as $db |
# Full test suite for required DBs (or all DBs when full_test_reason is set).
(if $db.value.required or ($full_test_reason != "") then
$jobs | to_entries[] | select(.key != "smoke")
else
$jobs | to_entries[] | select(.key == "smoke")
end) as $job |
# Base entry: merge db config + job config + name
($db.value + ($job.value | del(.sharded)) + {name: $db.key}) as $base |
# If sharded, emit one entry per shard; otherwise emit one entry
if $job.value.sharded then
range($shard_count) as $i |
$base + {
display_name: "shard\($i)",
shard_index: $i,
total_shards: $shard_count
}
else
$base + {display_name: $job.key}
end
]
'
)
echo "job_matrix=$MATRIX" >> "$GITHUB_OUTPUT"
echo "Generated $(jq length <<< "$MATRIX") jobs"
pre-build:
name: Pre-build for cache
needs: test-setup
runs-on: ${{ needs.test-setup.outputs.runner_arm }}
steps:
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.COMMIT }}
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
cache: false # do our own caching
- name: Restore dependencies
id: restore-deps
uses: actions/cache/restore@v4
with:
path: ~/go/pkg/mod
key: go-${{ runner.os }}${{ runner.arch }}-${{ hashFiles('go.mod') }}-deps-${{ hashFiles('go.sum') }}
- run: make pre-build-functional-test-coverage
- name: Save dependencies
uses: actions/cache/save@v4
if: ${{ steps.restore-deps.outputs.cache-hit != 'true' }}
with:
path: ~/go/pkg/mod
key: ${{ steps.restore-deps.outputs.cache-primary-key }}
- name: Save build outputs
uses: actions/cache/save@v4
with:
path: ~/.cache/go-build
key: go-${{ runner.os }}${{ runner.arch }}-build-${{ env.COMMIT }}
misc-checks:
name: Misc checks
needs: [pre-build, test-setup]
runs-on: ${{ needs.test-setup.outputs.runner_arm }}
steps:
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.COMMIT }}
# buf-breaking tries to compare HEAD against merge base so we need to be able to find it
fetch-depth: 100
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
cache: false # do our own caching
- name: Restore dependencies
uses: actions/cache/restore@v4
with:
path: ~/go/pkg/mod
key: go-${{ runner.os }}${{ runner.arch }}-${{ hashFiles('go.mod') }}-deps-${{ hashFiles('go.sum') }}
- name: Restore build outputs
uses: actions/cache/restore@v4
with:
path: ~/.cache/go-build
key: go-${{ runner.os }}${{ runner.arch }}-build-${{ env.COMMIT }}
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: GOOS=windows GOARCH=amd64 make clean-bins bins
- run: GOOS=darwin GOARCH=arm64 make clean-bins bins
- run: make clean-bins ci-build-misc
unit-test:
name: Unit test
needs: [pre-build, test-setup]
runs-on: ${{ needs.test-setup.outputs.runner_arm }}
steps:
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.COMMIT }}
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
cache: false # do our own caching
- name: Restore dependencies
uses: actions/cache/restore@v4
with:
path: ~/go/pkg/mod
key: go-${{ runner.os }}${{ runner.arch }}-${{ hashFiles('go.mod') }}-deps-${{ hashFiles('go.sum') }}
- name: Restore build outputs
uses: actions/cache/restore@v4
with:
path: ~/.cache/go-build
key: go-${{ runner.os }}${{ runner.arch }}-build-${{ env.COMMIT }}
- name: Run unit tests
timeout-minutes: 20
run: TEST_TIMEOUT=15m ./develop/github/monitor_test.sh make unit-test-coverage
- name: Print memory snapshot
if: always()
run: cat /tmp/memory_snapshot.txt || true
- name: Generate crash report
if: failure() # if the tests failed, we would expect one JUnit XML report per attempt; otherwise it must have crashed
run: |
[ "$(find .testoutput -maxdepth 1 -name 'junit.*.xml' | wc -l)" -lt "$MAX_TEST_ATTEMPTS" ] &&
CRASH_REPORT_NAME="$GITHUB_JOB" make report-test-crash
- name: Generate test summary
uses: mikepenz/[email protected]
if: failure()
with:
report_paths: ./.testoutput/junit.*.xml
detailed_summary: true
check_annotations: false
annotate_only: true
skip_annotations: true
- name: Upload code coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./.testoutput
flags: unit-test
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./.testoutput
flags: unit-test
report_type: test_results
- name: Get job ID
id: get_job_id
uses: ./.github/actions/get-job-id
with:
job_name: Unit test
run_id: ${{ github.run_id }}
- name: Upload test results to GitHub
# Can't pin to major because the action linter doesn't recognize the include-hidden-files flag.
uses: actions/[email protected]
if: ${{ !cancelled() }}
with:
name: junit-xml--${{ github.run_id }}--${{ steps.get_job_id.outputs.job_id }}--${{ github.run_attempt }}--unit-test
path: ./.testoutput/junit.*.xml
include-hidden-files: true
retention-days: 28
integration-test:
name: Integration test
needs: [pre-build, test-setup]
runs-on: ${{ needs.test-setup.outputs.runner_arm }}
steps:
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.COMMIT }}
- name: Start containerized dependencies
uses: hoverkraft-tech/[email protected]
with:
compose-file: ${{ env.DOCKER_COMPOSE_FILE }}
services: |
cassandra
mysql
postgresql
down-flags: -v
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
cache: false # do our own caching
- name: Restore dependencies
uses: actions/cache/restore@v4
with:
path: ~/go/pkg/mod
key: go-${{ runner.os }}${{ runner.arch }}-${{ hashFiles('go.mod') }}-deps-${{ hashFiles('go.sum') }}
- name: Restore build outputs
uses: actions/cache/restore@v4
with:
path: ~/.cache/go-build
key: go-${{ runner.os }}${{ runner.arch }}-build-${{ env.COMMIT }}
- name: Wait for containerized dependencies to be healthy
run: |
# Word splitting is intentional here.
# shellcheck disable=SC2046
docker compose -f ${{ env.DOCKER_COMPOSE_FILE }} up --wait $(docker compose -f ${{ env.DOCKER_COMPOSE_FILE }} ps --services)
- name: Run integration test
timeout-minutes: 15
run: ./develop/github/monitor_test.sh make integration-test-coverage
- name: Print memory snapshot
if: always()
run: cat /tmp/memory_snapshot.txt || true
- name: Generate crash report
if: failure() # if the tests failed, we would expect one JUnit XML report per attempt; otherwise it must have crashed
run: |
[ "$(find .testoutput -maxdepth 1 -name 'junit.*.xml' | wc -l)" -lt "$MAX_TEST_ATTEMPTS" ] &&
CRASH_REPORT_NAME="$GITHUB_JOB" make report-test-crash
- name: Generate test summary
uses: mikepenz/[email protected]
if: failure()
with:
report_paths: ./.testoutput/junit.*.xml
detailed_summary: true
check_annotations: false
annotate_only: true
skip_annotations: true
- name: Upload code coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./.testoutput
flags: integration-test
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./.testoutput
flags: integration-test
report_type: test_results
- name: Get job ID
id: get_job_id
uses: ./.github/actions/get-job-id
with:
job_name: Integration test
run_id: ${{ github.run_id }}
- name: Upload test results to GitHub
# Can't pin to major because the action linter doesn't recognize the include-hidden-files flag.
uses: actions/[email protected]
if: ${{ !cancelled() }}
with:
name: junit-xml--${{ github.run_id }}--${{ steps.get_job_id.outputs.job_id }}--${{ github.run_attempt }}--integration-test
path: ./.testoutput/junit.*.xml
include-hidden-files: true
retention-days: 28
- name: Tear down docker compose
if: ${{ always() }}
run: |
docker compose -f ${{ env.DOCKER_COMPOSE_FILE }} down -v
# Root job name includes matrix details so it is unique per job variant.
# This MUST stay in sync with the `job_name` passed to the job-id action below.
functional-test:
# Display name shown in the UI. The job-id lookup uses this exact value.
name: Functional test (${{ matrix.name }}, ${{ matrix.display_name }})
needs: [pre-build, test-setup]
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(needs.test-setup.outputs.job_matrix) }}
runs-on: ${{ needs.test-setup.outputs.runner_arm }}
env:
PERSISTENCE_TYPE: ${{ matrix.persistence_type }}
PERSISTENCE_DRIVER: ${{ matrix.persistence_driver }}
TEST_TIMEOUT: ${{ matrix.test_timeout }}
steps:
- uses: ScribeMD/[email protected]
with:
key: docker-${{ runner.os }}${{ runner.arch }}-${{ hashFiles(env.DOCKER_COMPOSE_FILE) }}
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.COMMIT }}
- name: Start containerized dependencies
if: ${{ toJson(matrix.containers) != '[]' }}
uses: hoverkraft-tech/[email protected]
with:
compose-file: ${{ env.DOCKER_COMPOSE_FILE }}
services: "${{ join(matrix.containers, '\n') }}"
down-flags: -v
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
cache: false # do our own caching
- name: Restore dependencies
uses: actions/cache/restore@v4
with:
path: ~/go/pkg/mod
key: go-${{ runner.os }}${{ runner.arch }}-${{ hashFiles('go.mod') }}-deps-${{ hashFiles('go.sum') }}
- name: Restore build outputs
uses: actions/cache/restore@v4
with:
path: ~/.cache/go-build
key: go-${{ runner.os }}${{ runner.arch }}-build-${{ env.COMMIT }}
- name: Get job ID
id: get_job_id
uses: ./.github/actions/get-job-id
with:
job_name: Functional test (${{ matrix.name }}, ${{ matrix.display_name }})
run_id: ${{ github.run_id }}
- name: ${{ matrix.display_name == 'smoke' && 'ℹ️ Smoke test' || 'ℹ️ Full test' }}
run: echo "::notice::${{ matrix.display_name == 'smoke' && 'This is a smoke test. Add the test-all-dbs label to run all tests on all DBs.' || needs.test-setup.outputs.full_test_reason }}"
- name: Wait for containerized dependencies to be healthy
if: ${{ toJson(matrix.containers) != '[]' }}
run: |
# Word splitting is intentional here.
# shellcheck disable=SC2046
docker compose -f ${{ env.DOCKER_COMPOSE_FILE }} up --wait $(docker compose -f ${{ env.DOCKER_COMPOSE_FILE }} ps --services)
- name: Run functional test
timeout-minutes: ${{ matrix.github_timeout }}
run: ./develop/github/monitor_test.sh ${{ matrix.cmd }}
env:
TEST_TOTAL_SHARDS: ${{ matrix.total_shards }}
TEST_SHARD_INDEX: ${{ matrix.total_shards && matrix.shard_index }} # guard with total_shards to avoid falsy eval of shard_index=0
TEST_ARGS: "${{ matrix.test_args }}"
- name: Dump container logs
if: ${{ failure() && toJson(matrix.containers) != '[]' }}
run: docker compose -f ${{ env.DOCKER_COMPOSE_FILE }} logs --no-color
- name: Print memory snapshot
if: always()
run: cat /tmp/memory_snapshot.txt || true
- name: Generate crash report
if: failure() # if the tests failed, we would expect one JUnit XML report per attempt; otherwise it must have crashed
run: |
[ "$(find .testoutput -maxdepth 1 -name 'junit.*.xml' | wc -l)" -lt "$MAX_TEST_ATTEMPTS" ] &&
CRASH_REPORT_NAME="$GITHUB_JOB" make report-test-crash
- name: Generate test summary
uses: mikepenz/[email protected]
if: failure()
with:
report_paths: ./.testoutput/junit.*.xml
detailed_summary: true
check_annotations: false
annotate_only: true
skip_annotations: true
- name: Upload code coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./.testoutput
flags: functional-test
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./.testoutput
flags: functional-test
report_type: test_results
- name: Upload test results to GitHub
# Can't pin to major because the action linter doesn't recognize the include-hidden-files flag.
uses: actions/[email protected]
if: ${{ !cancelled() }}
with:
name: junit-xml--${{ github.run_id }}--${{ steps.get_job_id.outputs.job_id }}--${{ github.run_attempt }}--${{ matrix.name }}--${{ matrix.display_name }}--functional-test
path: ./.testoutput/junit.*.xml
include-hidden-files: true
retention-days: 28
mixed-brain-test:
name: Mixed brain test
needs: [pre-build, test-setup]
runs-on: ${{ needs.test-setup.outputs.runner_arm }}
steps:
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ env.COMMIT }}
- name: Start PostgreSQL
uses: hoverkraft-tech/[email protected]
with:
compose-file: ${{ env.DOCKER_COMPOSE_FILE }}
services: postgresql
down-flags: -v
- uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
cache: false
- name: Restore dependencies
uses: actions/cache/restore@v4
with:
path: ~/go/pkg/mod
key: go-${{ runner.os }}${{ runner.arch }}-${{ hashFiles('go.mod') }}-deps-${{ hashFiles('go.sum') }}
- name: Restore build outputs
uses: actions/cache/restore@v4
with:
path: ~/.cache/go-build
key: go-${{ runner.os }}${{ runner.arch }}-build-${{ env.COMMIT }}
- name: Install PostgreSQL schema
run: make install-schema-postgresql12
- name: Run mixed brain test
timeout-minutes: 20
run: ./develop/github/monitor_test.sh make mixed-brain-test
env:
TEST_TIMEOUT: 18m
MIXED_BRAIN_TEST_DURATION: 5m
PERSISTENCE_DRIVER: postgres12
- name: Print memory snapshot
if: always()
run: cat /tmp/memory_snapshot.txt || true
- name: Print current server logs
if: always()
run: cat .testoutput/mixedbrain_process-current.log || true
- name: Print release server logs
if: always()
run: cat .testoutput/mixedbrain_process-release.log || true
- name: Print Omes logs
if: always()
run: cat .testoutput/mixedbrain_omes.log || true
test-status:
if: always()
name: Test Status
needs:
- misc-checks
- unit-test
- integration-test
- functional-test
runs-on: ubuntu-latest
env:
RESULTS: ${{ toJSON(needs.*.result) }}
steps:
- name: Check results
run: |
# all statuses must be success
if [[ -n $(echo "$RESULTS" | jq '.[] | select (. != "success")') ]]; then
exit 1
fi
notify-failure:
name: Notify Slack on Failure
if: |
always() &&
github.ref == 'refs/heads/main' &&
needs.test-status.result == 'failure'
needs: test-status
runs-on: ubuntu-latest
permissions:
contents: read
actions: read
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
cache: true
- name: Send Slack notification
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
GH_TOKEN: ${{ github.token }}
run: |
go run ./cmd/tools/ci-notify alert \
--run-id "${{ github.run_id }}" \
--slack-webhook "$SLACK_WEBHOOK"
-21
View File
@@ -1,21 +0,0 @@
name: Stale Pull Requests
on:
schedule:
- cron: '0 0 * * *'
permissions:
pull-requests: write
jobs:
stale_prs:
runs-on: ubuntu-latest
steps:
- name: label stale pull requests
uses: actions/stale@v9
with:
days-before-close: -1 # ie disabled
days-before-stale: 120
days-before-issue-stale: -1 # ie disabled
stale-pr-label: stale
stale-pr-message: 'This PR was marked as stale. Please update or close it.'
@@ -1,39 +0,0 @@
name: 'Trigger version-info-service release'
on:
release:
types:
- published
permissions:
contents: read
jobs:
trigger-vis:
name: 'Trigger version-info-service release'
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Generate token
id: generate_token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.TEMPORAL_CICD_APP_ID }}
private-key: ${{ secrets.TEMPORAL_CICD_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: |
version-info-service
- name: Dispatch version-info-service Github Action
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
VERSION: ${{ github.event.release.tag_name }}
RELEASE_TIME: ${{ github.event.release.published_at }}
run: |
gh workflow run server-release.yml -R https://github.com/temporalio/version-info-service \
-r main \
-f version="${VERSION}" \
-f release-time="${RELEASE_TIME}"
+4 -4
View File
@@ -11,7 +11,7 @@ snapshot:
archives:
- id: default
ids:
- temporal-server
- tasksd
- temporal-cassandra-tool
- temporal-sql-tool
- temporal-elasticsearch-tool
@@ -24,9 +24,9 @@ archives:
- ./config/*
builds:
- id: temporal-server
dir: cmd/server
binary: temporal-server
- id: tasksd
dir: cmd/tasksd
binary: tasksd
env:
- CGO_ENABLED=0
goos:
+2 -2
View File
@@ -52,7 +52,7 @@ git clone https://github.com/temporalio/temporal.git
## Build
For the very first time build `temporal-server` and helper tools with simple `make` command:
For the very first time build `tasksd` and helper tools with simple `make` command:
```bash
make
@@ -185,7 +185,7 @@ For general instructions, see [GoLand Debugging](https://www.jetbrains.com/help/
First, start the optional [runtime dependencies](#runtime-server-and-tests-prerequisites) if needed for the desired persistence option.
To run the server, ensure the Run Type is package. In "Package path", enter `go.temporal.io/server/cmd/server`.
To run the server, ensure the Run Type is package. In "Package path", enter `github.com/hanzoai/tasks/cmd/tasksd`.
In the "Program arguments" field, add the following:
```
+25
View File
@@ -0,0 +1,25 @@
# Hanzo Tasks
Durable workflow execution engine for AI agent orchestration. Fork of [Temporal.io](https://github.com/temporalio/temporal) (MIT license).
## Module
`github.com/hanzoai/tasks`
## Quick Start
```bash
go build ./cmd/tasksd/
./tasksd start
```
## Integration
- Playground imports `go.temporal.io/sdk` and connects to Hanzo Tasks server
- Base embeds Tasks for durable cron/batch execution
- Each playground space = a Tasks namespace
- Each agent = a Tasks worker
## Rebrand Notes (2026-03-19)
- `go.temporal.io/server` replaced with `github.com/hanzoai/tasks` in all Go files, go.mod, go.sum
- `cmd/server` renamed to `cmd/tasksd`, binary name is `tasksd`
- Docker images: `hanzoai/tasks` (was `temporalio/server`)
- External deps (`go.temporal.io/sdk`, `go.temporal.io/api`) are NOT changed -- those are separate repos
- Wire-protocol client names (`temporal-server` in headers/version_checker.go, metadata keys in client/history/metadata.go) preserved to maintain backward compatibility with existing Temporal SDK clients
+35 -35
View File
@@ -3,7 +3,7 @@
install: bins
# Rebuild binaries (used by Dockerfile).
bins: temporal-server temporal-cassandra-tool temporal-sql-tool temporal-elasticsearch-tool tdbg
bins: tasksd temporal-cassandra-tool temporal-sql-tool temporal-elasticsearch-tool tdbg
# Install all tools, recompile proto files, run all possible checks and tests (long but comprehensive).
all: clean proto bins check test
@@ -341,17 +341,17 @@ update-go-api:
##### Binaries #####
clean-bins:
@printf $(COLOR) "Delete old binaries..."
@rm -f temporal-server
@rm -f temporal-server-debug
@rm -f tasksd
@rm -f tasksd-debug
@rm -f temporal-cassandra-tool
@rm -f tdbg
@rm -f fairsim
@rm -f temporal-sql-tool
@rm -f temporal-elasticsearch-tool
temporal-server: $(ALL_SRC)
@printf $(COLOR) "Build temporal-server with CGO_ENABLED=$(CGO_ENABLED) for $(GOOS)/$(GOARCH)..."
CGO_ENABLED=$(CGO_ENABLED) go build $(BUILD_TAG_FLAG) -o temporal-server ./cmd/server
tasksd: $(ALL_SRC)
@printf $(COLOR) "Build tasksd with CGO_ENABLED=$(CGO_ENABLED) for $(GOOS)/$(GOARCH)..."
CGO_ENABLED=$(CGO_ENABLED) go build $(BUILD_TAG_FLAG) -o tasksd ./cmd/tasksd
tdbg: $(ALL_SRC)
@printf $(COLOR) "Build tdbg with CGO_ENABLED=$(CGO_ENABLED) for $(GOOS)/$(GOARCH)..."
@@ -373,9 +373,9 @@ temporal-elasticsearch-tool: $(ALL_SRC)
@printf $(COLOR) "Build temporal-elasticsearch-tool with CGO_ENABLED=$(CGO_ENABLED) for $(GOOS)/$(GOARCH)..."
CGO_ENABLED=$(CGO_ENABLED) go build $(BUILD_TAG_FLAG) -o temporal-elasticsearch-tool ./cmd/tools/elasticsearch
temporal-server-debug: $(ALL_SRC)
@printf $(COLOR) "Build temporal-server-debug with CGO_ENABLED=$(CGO_ENABLED) for $(GOOS)/$(GOARCH)..."
CGO_ENABLED=$(CGO_ENABLED) go build $(BUILD_TAG_FLAG),TEMPORAL_DEBUG -o temporal-server-debug ./cmd/server
tasksd-debug: $(ALL_SRC)
@printf $(COLOR) "Build tasksd-debug with CGO_ENABLED=$(CGO_ENABLED) for $(GOOS)/$(GOARCH)..."
CGO_ENABLED=$(CGO_ENABLED) go build $(BUILD_TAG_FLAG),TEMPORAL_DEBUG -o tasksd-debug ./cmd/tasksd
##### Checks #####
goimports: fmt-imports $(GOIMPORTS)
@@ -648,48 +648,48 @@ stop-dependencies-cdc:
start: start-sqlite
start-cass-es: temporal-server
./temporal-server --config-file config/development-cass-es.yaml --allow-no-auth start
start-cass-es: tasksd
./tasksd --config-file config/development-cass-es.yaml --allow-no-auth start
start-cass-archival: temporal-server
./temporal-server --config-file config/development-cass-archival.yaml --allow-no-auth start
start-cass-archival: tasksd
./tasksd --config-file config/development-cass-archival.yaml --allow-no-auth start
start-cass-es-dual: temporal-server
./temporal-server --config-file config/development-cass-es-dual.yaml --allow-no-auth start
start-cass-es-dual: tasksd
./tasksd --config-file config/development-cass-es-dual.yaml --allow-no-auth start
start-cass-es-custom: temporal-server
./temporal-server --config-file config/development-cass-es-custom.yaml --allow-no-auth start
start-cass-es-custom: tasksd
./tasksd --config-file config/development-cass-es-custom.yaml --allow-no-auth start
start-es-fi: temporal-server
./temporal-server --config-file config/development-cass-es-fi.yaml --allow-no-auth start
start-es-fi: tasksd
./tasksd --config-file config/development-cass-es-fi.yaml --allow-no-auth start
start-mysql: start-mysql8
start-mysql8: temporal-server
./temporal-server --config-file config/development-mysql8.yaml --allow-no-auth start
start-mysql8: tasksd
./tasksd --config-file config/development-mysql8.yaml --allow-no-auth start
start-mysql-es: temporal-server
./temporal-server --config-file config/development-mysql-es.yaml --allow-no-auth start
start-mysql-es: tasksd
./tasksd --config-file config/development-mysql-es.yaml --allow-no-auth start
start-postgres: start-postgres12
start-postgres12: temporal-server
./temporal-server --config-file config/development-postgres12.yaml --allow-no-auth start
start-postgres12: tasksd
./tasksd --config-file config/development-postgres12.yaml --allow-no-auth start
start-sqlite: temporal-server
./temporal-server --config-file config/development-sqlite.yaml --allow-no-auth start
start-sqlite: tasksd
./tasksd --config-file config/development-sqlite.yaml --allow-no-auth start
start-sqlite-file: temporal-server
./temporal-server --config-file config/development-sqlite-file.yaml --allow-no-auth start
start-sqlite-file: tasksd
./tasksd --config-file config/development-sqlite-file.yaml --allow-no-auth start
start-xdc-cluster-a: temporal-server
./temporal-server --config-file config/development-cluster-a.yaml --allow-no-auth start
start-xdc-cluster-a: tasksd
./tasksd --config-file config/development-cluster-a.yaml --allow-no-auth start
start-xdc-cluster-b: temporal-server
./temporal-server --config-file config/development-cluster-b.yaml --allow-no-auth start
start-xdc-cluster-b: tasksd
./tasksd --config-file config/development-cluster-b.yaml --allow-no-auth start
start-xdc-cluster-c: temporal-server
./temporal-server --config-file config/development-cluster-c.yaml --allow-no-auth start
start-xdc-cluster-c: tasksd
./tasksd --config-file config/development-cluster-c.yaml --allow-no-auth start
##### Grafana #####
update-dashboards:
+46 -48
View File
@@ -1,80 +1,78 @@
<div class="title-block" style="text-align: center;" align="center">
# Temporal—durable execution platform
# Hanzo Tasks
<p><img title="temporal logo" src="https://avatars.githubusercontent.com/u/56493103?s=320" width="320" height="320"></p>
Durable workflow execution engine for AI agent orchestration.
[![GitHub Release](https://img.shields.io/github/v/release/temporalio/temporal)](https://github.com/temporalio/temporal/releases/latest)
[![GitHub License](https://img.shields.io/github/license/temporalio/temporal)](https://github.com/temporalio/temporal/blob/main/LICENSE)
[![Code Coverage](https://img.shields.io/badge/codecov-report-blue)](https://app.codecov.io/gh/temporalio/temporal)
[![Community](https://img.shields.io/static/v1?label=community&message=get%20help&color=informational)](https://community.temporal.io)
[![Go Report Card](https://goreportcard.com/badge/github.com/temporalio/temporal)](https://goreportcard.com/report/github.com/temporalio/temporal)
**[Introduction](#introduction) &nbsp;&nbsp;&bull;&nbsp;&nbsp;**
**[Getting Started](#getting-started) &nbsp;&nbsp;&bull;&nbsp;&nbsp;**
**[Contributing](#contributing) &nbsp;&nbsp;&bull;&nbsp;&nbsp;**
**[Temporal Docs](https://docs.temporal.io/) &nbsp;&nbsp;&bull;&nbsp;&nbsp;**
**[Temporal 101](https://learn.temporal.io/courses/temporal_101/)**
[![GitHub License](https://img.shields.io/github/license/hanzoai/tasks)](https://github.com/hanzoai/tasks/blob/main/LICENSE)
</div>
## Introduction
Temporal is a durable execution platform that enables developers to build scalable applications without sacrificing productivity or reliability.
The Temporal server executes units of application logic called Workflows in a resilient manner that automatically handles intermittent failures, and retries failed operations.
Hanzo Tasks is a durable execution engine that powers AI agent orchestration in the Hanzo ecosystem. It enables developers to build scalable, fault-tolerant workflows that automatically handle intermittent failures and retry failed operations.
Temporal is a mature technology that originated as a fork of Uber's Cadence.
It is developed by [Temporal Technologies](https://temporal.io/), a startup by the creators of Cadence.
Tasks provides the backbone for:
- **Playground spaces** -- each space maps to a Tasks namespace
- **Agent execution** -- each agent runs as a Tasks worker
- **Durable cron and batch jobs** -- reliable scheduled and bulk operations
[![image](https://github.com/temporalio/temporal/assets/251288/693d18b5-01de-4a3b-b47b-96347b84f610)](https://youtu.be/wIpz4ioK0gI 'Getting to know Temporal')
Fork of [Temporal.io](https://github.com/temporalio/temporal) (MIT license).
## Getting Started
### Download and Start Temporal Server Locally
Execute the following commands to start a pre-built image along with all the dependencies.
### Build
```bash
brew install temporal
temporal server start-dev
make tasksd
```
Refer to [Temporal CLI](https://docs.temporal.io/cli/#installation) documentation for more installation options.
### Run the Samples
Clone or download samples for [Go](https://github.com/temporalio/samples-go) or [Java](https://github.com/temporalio/samples-java) and run them with the local Temporal server.
We have a number of [HelloWorld type scenarios](https://github.com/temporalio/samples-java#helloworld) available, as well as more advanced ones. Note that the sets of samples are currently different between Go and Java.
### Use CLI
Use [Temporal CLI](https://docs.temporal.io/cli/) to interact with the running Temporal server.
### Run
```bash
temporal operator namespace list
temporal workflow list
./tasksd start
```
### Use Temporal Web UI
Or with a config file:
Try [Temporal Web UI](https://docs.temporal.io/web-ui) by opening [http://localhost:8233](http://localhost:8233) for viewing your sample workflows executing on Temporal.
```bash
./tasksd --config-file config/development-sqlite.yaml --allow-no-auth start
```
### Build from source
```bash
go build ./cmd/tasksd/
./tasksd start
```
## Module
```
github.com/hanzoai/tasks
```
## Integration
Hanzo Tasks integrates with the broader Hanzo ecosystem:
- **Playground** imports `go.temporal.io/sdk` (the client SDK) and connects to the Tasks server
- **Base** embeds Tasks for durable cron/batch execution
- Each playground **space** = a Tasks namespace
- Each **agent** = a Tasks worker
## Repository
This repository contains the source code of the Temporal server. To implement Workflows, Activities and Workers, use one of the [supported languages](https://docs.temporal.io/dev-guide/).
This repository contains the source code of the Hanzo Tasks server. To implement Workflows, Activities, and Workers, use the [Temporal Go SDK](https://github.com/temporalio/sdk-go) or other [supported language SDKs](https://docs.temporal.io/dev-guide/).
## Architecture
See [docs/architecture/README.md](./docs/architecture/README.md) for server architecture details.
## Contributing
We'd love your help in making Temporal great.
Helpful links to get started:
- [work on or propose a new feature](https://github.com/temporalio/proposals)
- [learn about the Temporal Server architecture](./docs/architecture/README.md)
- [learn how to build and run the Temporal Server locally](./CONTRIBUTING.md)
- [learn about Temporal Server testing tools and best practices](./docs/development/testing.md)
- join the Temporal community [forum](https://community.temporal.io) and [Slack](https://t.mp/slack)
See [CONTRIBUTING.md](./CONTRIBUTING.md) for development setup and guidelines.
## License
[MIT License](https://github.com/temporalio/temporal/blob/main/LICENSE)
[MIT License](https://github.com/hanzoai/tasks/blob/main/LICENSE)
+10 -10
View File
@@ -19,15 +19,15 @@ import (
v115 "go.temporal.io/api/taskqueue/v1"
v19 "go.temporal.io/api/version/v1"
v17 "go.temporal.io/api/workflow/v1"
v18 "go.temporal.io/server/api/cluster/v1"
v112 "go.temporal.io/server/api/common/v1"
v14 "go.temporal.io/server/api/enums/v1"
v113 "go.temporal.io/server/api/health/v1"
v11 "go.temporal.io/server/api/history/v1"
v13 "go.temporal.io/server/api/namespace/v1"
v12 "go.temporal.io/server/api/persistence/v1"
v15 "go.temporal.io/server/api/replication/v1"
v114 "go.temporal.io/server/api/taskqueue/v1"
v18 "github.com/hanzoai/tasks/api/cluster/v1"
v112 "github.com/hanzoai/tasks/api/common/v1"
v14 "github.com/hanzoai/tasks/api/enums/v1"
v113 "github.com/hanzoai/tasks/api/health/v1"
v11 "github.com/hanzoai/tasks/api/history/v1"
v13 "github.com/hanzoai/tasks/api/namespace/v1"
v12 "github.com/hanzoai/tasks/api/persistence/v1"
v15 "github.com/hanzoai/tasks/api/replication/v1"
v114 "github.com/hanzoai/tasks/api/taskqueue/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
@@ -6171,7 +6171,7 @@ const file_temporal_server_api_adminservice_v1_request_response_proto_rawDesc =
"\x1cSCHEDULER_TARGET_UNSPECIFIED\x10\x00\x12\x1a\n" +
"\x16SCHEDULER_TARGET_CHASM\x10\x01\x12\x1d\n" +
"\x19SCHEDULER_TARGET_WORKFLOW\x10\x02\"\x19\n" +
"\x17MigrateScheduleResponseB8Z6go.temporal.io/server/api/adminservice/v1;adminserviceb\x06proto3"
"\x17MigrateScheduleResponseB8Z6github.com/hanzoai/tasks/api/adminservice/v1;adminserviceb\x06proto3"
var (
file_temporal_server_api_adminservice_v1_request_response_proto_rawDescOnce sync.Once
+2 -2
View File
@@ -10,7 +10,7 @@ import (
reflect "reflect"
unsafe "unsafe"
_ "go.temporal.io/server/api/common/v1"
_ "github.com/hanzoai/tasks/api/common/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
@@ -75,7 +75,7 @@ const file_temporal_server_api_adminservice_v1_service_proto_rawDesc = "" +
"#GenerateLastHistoryReplicationTasks\x12O.temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksRequest\x1aP.temporal.server.api.adminservice.v1.GenerateLastHistoryReplicationTasksResponse\"\x06\x8a\xb5\x18\x02\b\x03\x12\xb5\x01\n" +
"\x1aDescribeTaskQueuePartition\x12F.temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionRequest\x1aG.temporal.server.api.adminservice.v1.DescribeTaskQueuePartitionResponse\"\x06\x8a\xb5\x18\x02\b\x03\x12\xbe\x01\n" +
"\x1dForceUnloadTaskQueuePartition\x12I.temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionRequest\x1aJ.temporal.server.api.adminservice.v1.ForceUnloadTaskQueuePartitionResponse\"\x06\x8a\xb5\x18\x02\b\x03\x12\x94\x01\n" +
"\x0fMigrateSchedule\x12;.temporal.server.api.adminservice.v1.MigrateScheduleRequest\x1a<.temporal.server.api.adminservice.v1.MigrateScheduleResponse\"\x06\x8a\xb5\x18\x02\b\x03B8Z6go.temporal.io/server/api/adminservice/v1;adminserviceb\x06proto3"
"\x0fMigrateSchedule\x12;.temporal.server.api.adminservice.v1.MigrateScheduleRequest\x1a<.temporal.server.api.adminservice.v1.MigrateScheduleResponse\"\x06\x8a\xb5\x18\x02\b\x03B8Z6github.com/hanzoai/tasks/api/adminservice/v1;adminserviceb\x06proto3"
var file_temporal_server_api_adminservice_v1_service_proto_goTypes = []any{
(*RebuildMutableStateRequest)(nil), // 0: temporal.server.api.adminservice.v1.RebuildMutableStateRequest
@@ -13,7 +13,7 @@ import (
context "context"
reflect "reflect"
adminservice "go.temporal.io/server/api/adminservice/v1"
adminservice "github.com/hanzoai/tasks/api/adminservice/v1"
gomock "go.uber.org/mock/gomock"
grpc "google.golang.org/grpc"
metadata "google.golang.org/grpc/metadata"
+1 -1
View File
@@ -387,7 +387,7 @@ const file_temporal_server_api_archiver_v1_message_proto_rawDesc = "" +
"\x12execution_duration\x18\x0e \x01(\v2\x19.google.protobuf.DurationR\x11executionDuration\x1aC\n" +
"\x15SearchAttributesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B0Z.go.temporal.io/server/api/archiver/v1;archiverb\x06proto3"
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B0Z.github.com/hanzoai/tasks/api/archiver/v1;archiverb\x06proto3"
var (
file_temporal_server_api_archiver_v1_message_proto_rawDescOnce sync.Once
+2 -2
View File
@@ -13,7 +13,7 @@ import (
v1 "go.temporal.io/api/enums/v1"
v11 "go.temporal.io/api/workflowservice/v1"
v12 "go.temporal.io/server/api/adminservice/v1"
v12 "github.com/hanzoai/tasks/api/adminservice/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
@@ -145,7 +145,7 @@ const file_temporal_server_api_batch_v1_request_response_proto_rawDesc = "" +
"\n" +
"batch_type\x18\x06 \x01(\x0e2).temporal.api.enums.v1.BatchOperationTypeR\tbatchType\x12U\n" +
"\arequest\x18\a \x01(\v2;.temporal.api.workflowservice.v1.StartBatchOperationRequestR\arequest\x12i\n" +
"\radmin_request\x18\b \x01(\v2D.temporal.server.api.adminservice.v1.StartAdminBatchOperationRequestR\fadminRequestB*Z(go.temporal.io/server/api/batch/v1;batchb\x06proto3"
"\radmin_request\x18\b \x01(\v2D.temporal.server.api.adminservice.v1.StartAdminBatchOperationRequestR\fadminRequestB*Z(github.com/hanzoai/tasks/api/batch/v1;batchb\x06proto3"
var (
file_temporal_server_api_batch_v1_request_response_proto_rawDescOnce sync.Once
+3 -3
View File
@@ -12,8 +12,8 @@ import (
unsafe "unsafe"
v11 "go.temporal.io/api/enums/v1"
v1 "go.temporal.io/server/api/enums/v1"
v12 "go.temporal.io/server/api/history/v1"
v1 "github.com/hanzoai/tasks/api/enums/v1"
v12 "github.com/hanzoai/tasks/api/history/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
@@ -301,7 +301,7 @@ const file_temporal_server_api_checksum_v1_message_proto_rawDesc = "" +
"!pending_child_initiated_event_ids\x18\x12 \x03(\x03R\x1dpendingChildInitiatedEventIds\x127\n" +
"\x18pending_chasm_node_paths\x18\x1a \x03(\tR\x15pendingChasmNodePaths\x123\n" +
"\x16sticky_task_queue_name\x18\x13 \x01(\tR\x13stickyTaskQueueName\x12]\n" +
"\x11version_histories\x18\x14 \x01(\v20.temporal.server.api.history.v1.VersionHistoriesR\x10versionHistoriesB0Z.go.temporal.io/server/api/checksum/v1;checksumb\x06proto3"
"\x11version_histories\x18\x14 \x01(\v20.temporal.server.api.history.v1.VersionHistoriesR\x10versionHistoriesB0Z.github.com/hanzoai/tasks/api/checksum/v1;checksumb\x06proto3"
var (
file_temporal_server_api_checksum_v1_message_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -658,7 +658,7 @@ const file_temporal_server_api_cli_v1_message_proto_rawDesc = "" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" +
"\fMappingEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B&Z$go.temporal.io/server/api/cli/v1;clib\x06proto3"
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B&Z$github.com/hanzoai/tasks/api/cli/v1;clib\x06proto3"
var (
file_temporal_server_api_cli_v1_message_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -165,7 +165,7 @@ const file_temporal_server_api_clock_v1_message_proto_rawDesc = "" +
"wall_clock\x18\x01 \x01(\x03R\twallClock\x12\x18\n" +
"\aversion\x18\x02 \x01(\x05R\aversion\x12\x1d\n" +
"\n" +
"cluster_id\x18\x03 \x01(\x03R\tclusterIdB*Z(go.temporal.io/server/api/clock/v1;clockb\x06proto3"
"cluster_id\x18\x03 \x01(\x03R\tclusterIdB*Z(github.com/hanzoai/tasks/api/clock/v1;clockb\x06proto3"
var (
file_temporal_server_api_clock_v1_message_proto_rawDescOnce sync.Once
+2 -2
View File
@@ -11,7 +11,7 @@ import (
sync "sync"
unsafe "unsafe"
v1 "go.temporal.io/server/api/enums/v1"
v1 "github.com/hanzoai/tasks/api/enums/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
@@ -303,7 +303,7 @@ const file_temporal_server_api_cluster_v1_message_proto_rawDesc = "" +
"\brpc_port\x18\x04 \x01(\x05R\arpcPort\x12H\n" +
"\x12session_start_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x10sessionStartTime\x12H\n" +
"\x12last_heartbit_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x10lastHeartbitTime\x12H\n" +
"\x12record_expiry_time\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\x10recordExpiryTimeB.Z,go.temporal.io/server/api/cluster/v1;clusterb\x06proto3"
"\x12record_expiry_time\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\x10recordExpiryTimeB.Z,github.com/hanzoai/tasks/api/cluster/v1;clusterb\x06proto3"
var (
file_temporal_server_api_cluster_v1_message_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -171,7 +171,7 @@ const file_temporal_server_api_common_v1_api_category_proto_rawDesc = "" +
"\x15API_CATEGORY_STANDARD\x10\x01\x12\x1a\n" +
"\x16API_CATEGORY_LONG_POLL\x10\x02\x12\x17\n" +
"\x13API_CATEGORY_SYSTEM\x10\x03:y\n" +
"\fapi_category\x12\x1e.google.protobuf.MethodOptions\x18ц\x03 \x01(\v21.temporal.server.api.common.v1.ApiCategoryOptionsR\vapiCategory\x88\x01\x01B/Z-go.temporal.io/server/api/common/v1;commonspbb\x06proto3"
"\fapi_category\x12\x1e.google.protobuf.MethodOptions\x18ц\x03 \x01(\v21.temporal.server.api.common.v1.ApiCategoryOptionsR\vapiCategory\x88\x01\x01B/Z-github.com/hanzoai/tasks/api/common/v1;commonspbb\x06proto3"
var (
file_temporal_server_api_common_v1_api_category_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -261,7 +261,7 @@ const file_temporal_server_api_common_v1_dlq_proto_rawDesc = "" +
"\rHistoryDLQKey\x12#\n" +
"\rtask_category\x18\x01 \x01(\x05R\ftaskCategory\x12%\n" +
"\x0esource_cluster\x18\x02 \x01(\tR\rsourceCluster\x12%\n" +
"\x0etarget_cluster\x18\x03 \x01(\tR\rtargetClusterB/Z-go.temporal.io/server/api/common/v1;commonspbb\x06proto3"
"\x0etarget_cluster\x18\x03 \x01(\tR\rtargetClusterB/Z-github.com/hanzoai/tasks/api/common/v1;commonspbb\x06proto3"
var (
file_temporal_server_api_common_v1_dlq_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -3678,7 +3678,7 @@ const file_temporal_server_api_deployment_v1_message_proto_rawDesc = "" +
"\x1cForceCANDeploymentSignalArgs\x12d\n" +
"\x0eoverride_state\x18\x01 \x01(\v2=.temporal.server.api.deployment.v1.WorkerDeploymentLocalStateR\roverrideState\"x\n" +
"\x19ForceCANVersionSignalArgs\x12[\n" +
"\x0eoverride_state\x18\x01 \x01(\v24.temporal.server.api.deployment.v1.VersionLocalStateR\roverrideStateB4Z2go.temporal.io/server/api/deployment/v1;deploymentb\x06proto3"
"\x0eoverride_state\x18\x01 \x01(\v24.temporal.server.api.deployment.v1.VersionLocalStateR\roverrideStateB4Z2github.com/hanzoai/tasks/api/deployment/v1;deploymentb\x06proto3"
var (
file_temporal_server_api_deployment_v1_message_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -181,7 +181,7 @@ const file_temporal_server_api_enums_v1_cluster_proto_rawDesc = "" +
"\x14HEALTH_STATE_SERVING\x10\x01\x12\x1c\n" +
"\x18HEALTH_STATE_NOT_SERVING\x10\x02\x12!\n" +
"\x1dHEALTH_STATE_DECLINED_SERVING\x10\x03\x12\x1f\n" +
"\x1bHEALTH_STATE_INTERNAL_ERROR\x10\x04B*Z(go.temporal.io/server/api/enums/v1;enumsb\x06proto3"
"\x1bHEALTH_STATE_INTERNAL_ERROR\x10\x04B*Z(github.com/hanzoai/tasks/api/enums/v1;enumsb\x06proto3"
var (
file_temporal_server_api_enums_v1_cluster_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -235,7 +235,7 @@ const file_temporal_server_api_enums_v1_common_proto_rawDesc = "" +
"\x18CALLBACK_STATE_SCHEDULED\x10\x02\x12\x1e\n" +
"\x1aCALLBACK_STATE_BACKING_OFF\x10\x03\x12\x19\n" +
"\x15CALLBACK_STATE_FAILED\x10\x04\x12\x1c\n" +
"\x18CALLBACK_STATE_SUCCEEDED\x10\x05B*Z(go.temporal.io/server/api/enums/v1;enumsb\x06proto3"
"\x18CALLBACK_STATE_SUCCEEDED\x10\x05B*Z(github.com/hanzoai/tasks/api/enums/v1;enumsb\x06proto3"
var (
file_temporal_server_api_enums_v1_common_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -159,7 +159,7 @@ const file_temporal_server_api_enums_v1_dlq_proto_rawDesc = "" +
"\x1fDLQ_OPERATION_STATE_UNSPECIFIED\x10\x00\x12\x1f\n" +
"\x1bDLQ_OPERATION_STATE_RUNNING\x10\x01\x12!\n" +
"\x1dDLQ_OPERATION_STATE_COMPLETED\x10\x02\x12\x1e\n" +
"\x1aDLQ_OPERATION_STATE_FAILED\x10\x03B*Z(go.temporal.io/server/api/enums/v1;enumsb\x06proto3"
"\x1aDLQ_OPERATION_STATE_FAILED\x10\x03B*Z(github.com/hanzoai/tasks/api/enums/v1;enumsb\x06proto3"
var (
file_temporal_server_api_enums_v1_dlq_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -96,7 +96,7 @@ const file_temporal_server_api_enums_v1_fairness_state_proto_rawDesc = "" +
"\x1aFAIRNESS_STATE_UNSPECIFIED\x10\x00\x12\x15\n" +
"\x11FAIRNESS_STATE_V0\x10\x01\x12\x15\n" +
"\x11FAIRNESS_STATE_V1\x10\x02\x12\x15\n" +
"\x11FAIRNESS_STATE_V2\x10\x03B*Z(go.temporal.io/server/api/enums/v1;enumsb\x06proto3"
"\x11FAIRNESS_STATE_V2\x10\x03B*Z(github.com/hanzoai/tasks/api/enums/v1;enumsb\x06proto3"
var (
file_temporal_server_api_enums_v1_fairness_state_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -131,7 +131,7 @@ const file_temporal_server_api_enums_v1_nexus_proto_rawDesc = "" +
"\x1fNEXUS_OPERATION_STATE_SUCCEEDED\x10\x04\x12 \n" +
"\x1cNEXUS_OPERATION_STATE_FAILED\x10\x05\x12\"\n" +
"\x1eNEXUS_OPERATION_STATE_CANCELED\x10\x06\x12#\n" +
"\x1fNEXUS_OPERATION_STATE_TIMED_OUT\x10\aB*Z(go.temporal.io/server/api/enums/v1;enumsb\x06proto3"
"\x1fNEXUS_OPERATION_STATE_TIMED_OUT\x10\aB*Z(github.com/hanzoai/tasks/api/enums/v1;enumsb\x06proto3"
var (
file_temporal_server_api_enums_v1_nexus_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -143,7 +143,7 @@ const file_temporal_server_api_enums_v1_predicate_proto_rawDesc = "" +
"\x1aPREDICATE_TYPE_DESTINATION\x10\b\x12&\n" +
"\"PREDICATE_TYPE_OUTBOUND_TASK_GROUP\x10\t\x12 \n" +
"\x1cPREDICATE_TYPE_OUTBOUND_TASK\x10\n" +
"B*Z(go.temporal.io/server/api/enums/v1;enumsb\x06proto3"
"B*Z(github.com/hanzoai/tasks/api/enums/v1;enumsb\x06proto3"
var (
file_temporal_server_api_enums_v1_predicate_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -280,7 +280,7 @@ const file_temporal_server_api_enums_v1_replication_proto_rawDesc = "" +
"\x1dReplicationFlowControlCommand\x120\n" +
",REPLICATION_FLOW_CONTROL_COMMAND_UNSPECIFIED\x10\x00\x12+\n" +
"'REPLICATION_FLOW_CONTROL_COMMAND_RESUME\x10\x01\x12*\n" +
"&REPLICATION_FLOW_CONTROL_COMMAND_PAUSE\x10\x02B*Z(go.temporal.io/server/api/enums/v1;enumsb\x06proto3"
"&REPLICATION_FLOW_CONTROL_COMMAND_PAUSE\x10\x02B*Z(github.com/hanzoai/tasks/api/enums/v1;enumsb\x06proto3"
var (
file_temporal_server_api_enums_v1_replication_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -405,7 +405,7 @@ const file_temporal_server_api_enums_v1_task_proto_rawDesc = "" +
"\x19TASK_PRIORITY_UNSPECIFIED\x10\x00\x12\x16\n" +
"\x12TASK_PRIORITY_HIGH\x10\x01\x12\x15\n" +
"\x11TASK_PRIORITY_LOW\x10\n" +
"B*Z(go.temporal.io/server/api/enums/v1;enumsb\x06proto3"
"B*Z(github.com/hanzoai/tasks/api/enums/v1;enumsb\x06proto3"
var (
file_temporal_server_api_enums_v1_task_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -246,7 +246,7 @@ const file_temporal_server_api_enums_v1_workflow_proto_rawDesc = "" +
"\x18PausedWorkflowEntityType\x12+\n" +
"'PAUSED_WORKFLOW_ENTITY_TYPE_UNSPECIFIED\x10\x00\x12(\n" +
"$PAUSED_WORKFLOW_ENTITY_TYPE_ACTIVITY\x10\x01\x12(\n" +
"$PAUSED_WORKFLOW_ENTITY_TYPE_WORKFLOW\x10\x02B*Z(go.temporal.io/server/api/enums/v1;enumsb\x06proto3"
"$PAUSED_WORKFLOW_ENTITY_TYPE_WORKFLOW\x10\x02B*Z(github.com/hanzoai/tasks/api/enums/v1;enumsb\x06proto3"
var (
file_temporal_server_api_enums_v1_workflow_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -97,7 +97,7 @@ const file_temporal_server_api_enums_v1_workflow_task_type_proto_rawDesc = "" +
"\x1eWORKFLOW_TASK_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n" +
"\x19WORKFLOW_TASK_TYPE_NORMAL\x10\x01\x12 \n" +
"\x1cWORKFLOW_TASK_TYPE_TRANSIENT\x10\x02\x12\"\n" +
"\x1eWORKFLOW_TASK_TYPE_SPECULATIVE\x10\x03B*Z(go.temporal.io/server/api/enums/v1;enumsb\x06proto3"
"\x1eWORKFLOW_TASK_TYPE_SPECULATIVE\x10\x03B*Z(github.com/hanzoai/tasks/api/enums/v1;enumsb\x06proto3"
var (
file_temporal_server_api_enums_v1_workflow_task_type_proto_rawDescOnce sync.Once
+3 -3
View File
@@ -13,8 +13,8 @@ import (
sync "sync"
unsafe "unsafe"
v11 "go.temporal.io/server/api/history/v1"
v1 "go.temporal.io/server/api/persistence/v1"
v11 "github.com/hanzoai/tasks/api/history/v1"
v1 "github.com/hanzoai/tasks/api/persistence/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
@@ -543,7 +543,7 @@ const file_temporal_server_api_errordetails_v1_message_proto_rawDesc = "" +
"\x1eStickyWorkerUnavailableFailure\" \n" +
"\x1eObsoleteDispatchBuildIdFailure\"\x1d\n" +
"\x1bObsoleteMatchingTaskFailure\"&\n" +
"$ActivityStartDuringTransitionFailureB8Z6go.temporal.io/server/api/errordetails/v1;errordetailsb\x06proto3"
"$ActivityStartDuringTransitionFailureB8Z6github.com/hanzoai/tasks/api/errordetails/v1;errordetailsb\x06proto3"
var (
file_temporal_server_api_errordetails_v1_message_proto_rawDescOnce sync.Once
+2 -2
View File
@@ -11,7 +11,7 @@ import (
sync "sync"
unsafe "unsafe"
v1 "go.temporal.io/server/api/enums/v1"
v1 "github.com/hanzoai/tasks/api/enums/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
@@ -265,7 +265,7 @@ const file_temporal_server_api_health_v1_message_proto_rawDesc = "" +
"\aservice\x18\x01 \x01(\tR\aservice\x12?\n" +
"\x05state\x18\x02 \x01(\x0e2).temporal.server.api.enums.v1.HealthStateR\x05state\x12E\n" +
"\x05hosts\x18\x03 \x03(\v2/.temporal.server.api.health.v1.HostHealthDetailR\x05hosts\x12\x18\n" +
"\amessage\x18\x04 \x01(\tR\amessageB,Z*go.temporal.io/server/api/health/v1;healthb\x06proto3"
"\amessage\x18\x04 \x01(\tR\amessageB,Z*github.com/hanzoai/tasks/api/health/v1;healthb\x06proto3"
var (
file_temporal_server_api_health_v1_message_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -455,7 +455,7 @@ const file_temporal_server_api_history_v1_message_proto_rawDesc = "" +
"\bevent_id\x18\x01 \x01(\x03R\aeventId\x12\x18\n" +
"\aversion\x18\x04 \x01(\x03R\aversion\"e\n" +
"\x15StrippedHistoryEvents\x12L\n" +
"\x06events\x18\x01 \x03(\v24.temporal.server.api.history.v1.StrippedHistoryEventR\x06eventsB.Z,go.temporal.io/server/api/history/v1;historyb\x06proto3"
"\x06events\x18\x01 \x03(\v24.temporal.server.api.history.v1.StrippedHistoryEventR\x06eventsB.Z,github.com/hanzoai/tasks/api/history/v1;historyb\x06proto3"
var (
file_temporal_server_api_history_v1_message_proto_rawDescOnce sync.Once
+13 -13
View File
@@ -23,18 +23,18 @@ import (
v111 "go.temporal.io/api/taskqueue/v1"
v15 "go.temporal.io/api/workflow/v1"
v1 "go.temporal.io/api/workflowservice/v1"
v118 "go.temporal.io/server/api/adminservice/v1"
v18 "go.temporal.io/server/api/clock/v1"
v119 "go.temporal.io/server/api/common/v1"
v112 "go.temporal.io/server/api/enums/v1"
v122 "go.temporal.io/server/api/health/v1"
v19 "go.temporal.io/server/api/history/v1"
v116 "go.temporal.io/server/api/namespace/v1"
v110 "go.temporal.io/server/api/persistence/v1"
v117 "go.temporal.io/server/api/replication/v1"
v113 "go.temporal.io/server/api/taskqueue/v1"
v120 "go.temporal.io/server/api/token/v1"
v11 "go.temporal.io/server/api/workflow/v1"
v118 "github.com/hanzoai/tasks/api/adminservice/v1"
v18 "github.com/hanzoai/tasks/api/clock/v1"
v119 "github.com/hanzoai/tasks/api/common/v1"
v112 "github.com/hanzoai/tasks/api/enums/v1"
v122 "github.com/hanzoai/tasks/api/health/v1"
v19 "github.com/hanzoai/tasks/api/history/v1"
v116 "github.com/hanzoai/tasks/api/namespace/v1"
v110 "github.com/hanzoai/tasks/api/persistence/v1"
v117 "github.com/hanzoai/tasks/api/replication/v1"
v113 "github.com/hanzoai/tasks/api/taskqueue/v1"
v120 "github.com/hanzoai/tasks/api/token/v1"
v11 "github.com/hanzoai/tasks/api/workflow/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
descriptorpb "google.golang.org/protobuf/types/descriptorpb"
@@ -11160,7 +11160,7 @@ const file_temporal_server_api_historyservice_v1_request_response_proto_rawDesc
"\x1a\bshard_id\"j\n" +
"\x1cCancelNexusOperationResponse\x12J\n" +
"\bresponse\x18\x01 \x01(\v2..temporal.api.nexus.v1.CancelOperationResponseR\bresponse:t\n" +
"\arouting\x12\x1f.google.protobuf.MessageOptions\x18\xc28 \x01(\v25.temporal.server.api.historyservice.v1.RoutingOptionsR\arouting\x88\x01\x01B<Z:go.temporal.io/server/api/historyservice/v1;historyserviceb\x06proto3"
"\arouting\x12\x1f.google.protobuf.MessageOptions\x18\xc28 \x01(\v25.temporal.server.api.historyservice.v1.RoutingOptionsR\arouting\x88\x01\x01B<Z:github.com/hanzoai/tasks/api/historyservice/v1;historyserviceb\x06proto3"
var (
file_temporal_server_api_historyservice_v1_request_response_proto_rawDescOnce sync.Once
+2 -2
View File
@@ -10,7 +10,7 @@ import (
reflect "reflect"
unsafe "unsafe"
_ "go.temporal.io/server/api/common/v1"
_ "github.com/hanzoai/tasks/api/common/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
@@ -106,7 +106,7 @@ const file_temporal_server_api_historyservice_v1_service_proto_rawDesc = "" +
"\x16PauseWorkflowExecution\x12D.temporal.server.api.historyservice.v1.PauseWorkflowExecutionRequest\x1aE.temporal.server.api.historyservice.v1.PauseWorkflowExecutionResponse\"\x06\x8a\xb5\x18\x02\b\x01\x12\xb3\x01\n" +
"\x18UnpauseWorkflowExecution\x12F.temporal.server.api.historyservice.v1.UnpauseWorkflowExecutionRequest\x1aG.temporal.server.api.historyservice.v1.UnpauseWorkflowExecutionResponse\"\x06\x8a\xb5\x18\x02\b\x01\x12\xa4\x01\n" +
"\x13StartNexusOperation\x12A.temporal.server.api.historyservice.v1.StartNexusOperationRequest\x1aB.temporal.server.api.historyservice.v1.StartNexusOperationResponse\"\x06\x8a\xb5\x18\x02\b\x01\x12\xa7\x01\n" +
"\x14CancelNexusOperation\x12B.temporal.server.api.historyservice.v1.CancelNexusOperationRequest\x1aC.temporal.server.api.historyservice.v1.CancelNexusOperationResponse\"\x06\x8a\xb5\x18\x02\b\x01B<Z:go.temporal.io/server/api/historyservice/v1;historyserviceb\x06proto3"
"\x14CancelNexusOperation\x12B.temporal.server.api.historyservice.v1.CancelNexusOperationRequest\x1aC.temporal.server.api.historyservice.v1.CancelNexusOperationResponse\"\x06\x8a\xb5\x18\x02\b\x01B<Z:github.com/hanzoai/tasks/api/historyservice/v1;historyserviceb\x06proto3"
var file_temporal_server_api_historyservice_v1_service_proto_goTypes = []any{
(*StartWorkflowExecutionRequest)(nil), // 0: temporal.server.api.historyservice.v1.StartWorkflowExecutionRequest
@@ -13,7 +13,7 @@ import (
context "context"
reflect "reflect"
historyservice "go.temporal.io/server/api/historyservice/v1"
historyservice "github.com/hanzoai/tasks/api/historyservice/v1"
gomock "go.uber.org/mock/gomock"
grpc "google.golang.org/grpc"
metadata "google.golang.org/grpc/metadata"
@@ -22,12 +22,12 @@ import (
v14 "go.temporal.io/api/taskqueue/v1"
v115 "go.temporal.io/api/worker/v1"
v1 "go.temporal.io/api/workflowservice/v1"
v17 "go.temporal.io/server/api/clock/v1"
v110 "go.temporal.io/server/api/deployment/v1"
v116 "go.temporal.io/server/api/enums/v1"
v13 "go.temporal.io/server/api/history/v1"
v111 "go.temporal.io/server/api/persistence/v1"
v18 "go.temporal.io/server/api/taskqueue/v1"
v17 "github.com/hanzoai/tasks/api/clock/v1"
v110 "github.com/hanzoai/tasks/api/deployment/v1"
v116 "github.com/hanzoai/tasks/api/enums/v1"
v13 "github.com/hanzoai/tasks/api/history/v1"
v111 "github.com/hanzoai/tasks/api/persistence/v1"
v18 "github.com/hanzoai/tasks/api/taskqueue/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
@@ -6163,7 +6163,7 @@ const file_temporal_server_api_matchingservice_v1_request_response_proto_rawDesc
"\tis_member\x18\x01 \x01(\bR\bisMember\"L\n" +
"\x0ePollConditions\x12!\n" +
"\fmin_priority\x18\x01 \x01(\x05R\vminPriority\x12\x17\n" +
"\ano_wait\x18\x02 \x01(\bR\x06noWaitB>Z<go.temporal.io/server/api/matchingservice/v1;matchingserviceb\x06proto3"
"\ano_wait\x18\x02 \x01(\bR\x06noWaitB>Z<github.com/hanzoai/tasks/api/matchingservice/v1;matchingserviceb\x06proto3"
var (
file_temporal_server_api_matchingservice_v1_request_response_proto_rawDescOnce sync.Once
+2 -2
View File
@@ -10,7 +10,7 @@ import (
reflect "reflect"
unsafe "unsafe"
_ "go.temporal.io/server/api/common/v1"
_ "github.com/hanzoai/tasks/api/common/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
@@ -67,7 +67,7 @@ const file_temporal_server_api_matchingservice_v1_service_proto_rawDesc = "" +
"\x15UpdateTaskQueueConfig\x12D.temporal.server.api.matchingservice.v1.UpdateTaskQueueConfigRequest\x1aE.temporal.server.api.matchingservice.v1.UpdateTaskQueueConfigResponse\"\x06\x8a\xb5\x18\x02\b\x01\x12\x97\x01\n" +
"\x0eDescribeWorker\x12=.temporal.server.api.matchingservice.v1.DescribeWorkerRequest\x1a>.temporal.server.api.matchingservice.v1.DescribeWorkerResponse\"\x06\x8a\xb5\x18\x02\b\x01\x12\xa6\x01\n" +
"\x13UpdateFairnessState\x12B.temporal.server.api.matchingservice.v1.UpdateFairnessStateRequest\x1aC.temporal.server.api.matchingservice.v1.UpdateFairnessStateResponse\"\x06\x8a\xb5\x18\x02\b\x01\x12\xca\x01\n" +
"\x1fCheckTaskQueueVersionMembership\x12N.temporal.server.api.matchingservice.v1.CheckTaskQueueVersionMembershipRequest\x1aO.temporal.server.api.matchingservice.v1.CheckTaskQueueVersionMembershipResponse\"\x06\x8a\xb5\x18\x02\b\x01B>Z<go.temporal.io/server/api/matchingservice/v1;matchingserviceb\x06proto3"
"\x1fCheckTaskQueueVersionMembership\x12N.temporal.server.api.matchingservice.v1.CheckTaskQueueVersionMembershipRequest\x1aO.temporal.server.api.matchingservice.v1.CheckTaskQueueVersionMembershipResponse\"\x06\x8a\xb5\x18\x02\b\x01B>Z<github.com/hanzoai/tasks/api/matchingservice/v1;matchingserviceb\x06proto3"
var file_temporal_server_api_matchingservice_v1_service_proto_goTypes = []any{
(*PollWorkflowTaskQueueRequest)(nil), // 0: temporal.server.api.matchingservice.v1.PollWorkflowTaskQueueRequest
@@ -13,7 +13,7 @@ import (
context "context"
reflect "reflect"
matchingservice "go.temporal.io/server/api/matchingservice/v1"
matchingservice "github.com/hanzoai/tasks/api/matchingservice/v1"
gomock "go.uber.org/mock/gomock"
grpc "google.golang.org/grpc"
)
+1 -1
View File
@@ -75,7 +75,7 @@ const file_temporal_server_api_metrics_v1_message_proto_rawDesc = "" +
"\fcounters_int\x18\x01 \x03(\v28.temporal.server.api.metrics.v1.Baggage.CountersIntEntryR\vcountersInt\x1a>\n" +
"\x10CountersIntEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01B.Z,go.temporal.io/server/api/metrics/v1;metricsb\x06proto3"
"\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01B.Z,github.com/hanzoai/tasks/api/metrics/v1;metricsb\x06proto3"
var (
file_temporal_server_api_metrics_v1_message_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -87,7 +87,7 @@ const file_temporal_server_api_namespace_v1_message_proto_rawDesc = "" +
".temporal/server/api/namespace/v1/message.proto\x12 temporal.server.api.namespace.v1\"\x8e\x01\n" +
"\x12NamespaceCacheInfo\x129\n" +
"\x1aitems_in_cache_by_id_count\x18\x01 \x01(\x03R\x15itemsInCacheByIdCount\x12=\n" +
"\x1citems_in_cache_by_name_count\x18\x02 \x01(\x03R\x17itemsInCacheByNameCountB2Z0go.temporal.io/server/api/namespace/v1;namespaceb\x06proto3"
"\x1citems_in_cache_by_name_count\x18\x02 \x01(\x03R\x17itemsInCacheByNameCountB2Z0github.com/hanzoai/tasks/api/namespace/v1;namespaceb\x06proto3"
var (
file_temporal_server_api_namespace_v1_message_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -857,7 +857,7 @@ const file_temporal_server_api_persistence_v1_chasm_proto_rawDesc = "" +
"close_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcloseTime\x12\x1d\n" +
"\n" +
"request_id\x18\x04 \x01(\tR\trequestIdB\t\n" +
"\aoutcomeB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\aoutcomeB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_chasm_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -118,7 +118,7 @@ const file_temporal_server_api_persistence_v1_chasm_visibility_proto_rawDesc = "
"\x13ChasmVisibilityData\x12)\n" +
"\x10transition_count\x18\x01 \x01(\x03R\x0ftransitionCount\"D\n" +
"\x17ChasmVisibilityTaskData\x12)\n" +
"\x10transition_count\x18\x01 \x01(\x03R\x0ftransitionCountB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\x10transition_count\x18\x01 \x01(\x03R\x0ftransitionCountB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_chasm_visibility_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -250,7 +250,7 @@ const file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDesc = "
"\x18custom_search_attributes\x18\x01 \x03(\v2U.temporal.server.api.persistence.v1.IndexSearchAttributes.CustomSearchAttributesEntryR\x16customSearchAttributes\x1ar\n" +
"\x1bCustomSearchAttributesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12=\n" +
"\x05value\x18\x02 \x01(\x0e2'.temporal.api.enums.v1.IndexedValueTypeR\x05value:\x028\x01B6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\x05value\x18\x02 \x01(\x0e2'.temporal.api.enums.v1.IndexedValueTypeR\x05value:\x028\x01B6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_cluster_metadata_proto_rawDescOnce sync.Once
+5 -5
View File
@@ -17,10 +17,10 @@ import (
v19 "go.temporal.io/api/failure/v1"
v17 "go.temporal.io/api/history/v1"
v12 "go.temporal.io/api/workflow/v1"
v15 "go.temporal.io/server/api/clock/v1"
v1 "go.temporal.io/server/api/enums/v1"
v14 "go.temporal.io/server/api/history/v1"
v16 "go.temporal.io/server/api/workflow/v1"
v15 "github.com/hanzoai/tasks/api/clock/v1"
v1 "github.com/hanzoai/tasks/api/enums/v1"
v14 "github.com/hanzoai/tasks/api/history/v1"
v16 "github.com/hanzoai/tasks/api/workflow/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
@@ -5111,7 +5111,7 @@ const file_temporal_server_api_persistence_v1_executions_proto_rawDesc = "" +
"\bidentity\x18\x02 \x01(\tR\bidentity\x12\x16\n" +
"\x06reason\x18\x03 \x01(\tR\x06reason\x12\x1d\n" +
"\n" +
"request_id\x18\x04 \x01(\tR\trequestIdB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"request_id\x18\x04 \x01(\tR\trequestIdB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_executions_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -241,7 +241,7 @@ const file_temporal_server_api_persistence_v1_history_tree_proto_rawDesc = "" +
"\x12HistoryBranchRange\x12\x1b\n" +
"\tbranch_id\x18\x01 \x01(\tR\bbranchId\x12\"\n" +
"\rbegin_node_id\x18\x02 \x01(\x03R\vbeginNodeId\x12\x1e\n" +
"\vend_node_id\x18\x03 \x01(\x03R\tendNodeIdB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\vend_node_id\x18\x03 \x01(\x03R\tendNodeIdB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_history_tree_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -839,7 +839,7 @@ const file_temporal_server_api_persistence_v1_hsm_proto_rawDesc = "" +
"\x0fchasm_node_path\x18\b \x01(\tH\x00R\rchasmNodePathB\x13\n" +
"\x11state_machine_key\"[\n" +
"\x10StateMachinePath\x12G\n" +
"\x04path\x18\x01 \x03(\v23.temporal.server.api.persistence.v1.StateMachineKeyR\x04pathB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\x04path\x18\x01 \x03(\v23.temporal.server.api.persistence.v1.StateMachineKeyR\x04pathB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_hsm_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -479,7 +479,7 @@ const file_temporal_server_api_persistence_v1_namespaces_proto_rawDesc = "" +
"\x10failover_history\x18\b \x03(\v22.temporal.server.api.persistence.v1.FailoverStatusR\x0ffailoverHistory\"|\n" +
"\x0eFailoverStatus\x12?\n" +
"\rfailover_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ffailoverTime\x12)\n" +
"\x10failover_version\x18\x02 \x01(\x03R\x0ffailoverVersionB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\x10failover_version\x18\x02 \x01(\x03R\x0ffailoverVersionB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_namespaces_proto_rawDescOnce sync.Once
+2 -2
View File
@@ -12,7 +12,7 @@ import (
unsafe "unsafe"
v1 "go.temporal.io/api/common/v1"
v11 "go.temporal.io/server/api/clock/v1"
v11 "github.com/hanzoai/tasks/api/clock/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
@@ -438,7 +438,7 @@ const file_temporal_server_api_persistence_v1_nexus_proto_rawDesc = "" +
"\x12NexusEndpointEntry\x12\x18\n" +
"\aversion\x18\x01 \x01(\x03R\aversion\x12\x0e\n" +
"\x02id\x18\x02 \x01(\tR\x02id\x12M\n" +
"\bendpoint\x18\x03 \x01(\v21.temporal.server.api.persistence.v1.NexusEndpointR\bendpointB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\bendpoint\x18\x03 \x01(\v21.temporal.server.api.persistence.v1.NexusEndpointR\bendpointB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_nexus_proto_rawDescOnce sync.Once
+2 -2
View File
@@ -11,7 +11,7 @@ import (
sync "sync"
unsafe "unsafe"
v1 "go.temporal.io/server/api/enums/v1"
v1 "github.com/hanzoai/tasks/api/enums/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
@@ -772,7 +772,7 @@ const file_temporal_server_api_persistence_v1_predicates_proto_rawDesc = "" +
"\n" +
"task_group\x18\x01 \x01(\tR\ttaskGroup\x12!\n" +
"\fnamespace_id\x18\x02 \x01(\tR\vnamespaceId\x12 \n" +
"\vdestination\x18\x03 \x01(\tR\vdestinationB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\vdestination\x18\x03 \x01(\tR\vdestinationB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_predicates_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -76,7 +76,7 @@ const file_temporal_server_api_persistence_v1_queue_metadata_proto_rawDesc = ""
"\x12cluster_ack_levels\x18\x01 \x03(\v2G.temporal.server.api.persistence.v1.QueueMetadata.ClusterAckLevelsEntryR\x10clusterAckLevels\x1aC\n" +
"\x15ClusterAckLevelsEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01B6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01B6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_queue_metadata_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -507,7 +507,7 @@ const file_temporal_server_api_persistence_v1_queues_proto_rawDesc = "" +
"partitions\x1aq\n" +
"\x0fPartitionsEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\x05R\x03key\x12H\n" +
"\x05value\x18\x02 \x01(\v22.temporal.server.api.persistence.v1.QueuePartitionR\x05value:\x028\x01B6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\x05value\x18\x02 \x01(\v22.temporal.server.api.persistence.v1.QueuePartitionR\x05value:\x028\x01B6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_queues_proto_rawDescOnce sync.Once
+4 -4
View File
@@ -14,9 +14,9 @@ import (
v13 "go.temporal.io/api/deployment/v1"
v11 "go.temporal.io/api/taskqueue/v1"
v1 "go.temporal.io/server/api/clock/v1"
v12 "go.temporal.io/server/api/deployment/v1"
v14 "go.temporal.io/server/api/enums/v1"
v1 "github.com/hanzoai/tasks/api/clock/v1"
v12 "github.com/hanzoai/tasks/api/deployment/v1"
v14 "github.com/hanzoai/tasks/api/enums/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
@@ -821,7 +821,7 @@ const file_temporal_server_api_persistence_v1_task_queues_proto_rawDesc = "" +
"\x05value\x18\x02 \x01(\v29.temporal.server.api.persistence.v1.TaskQueueTypeUserDataR\x05value:\x028\x01\"\x81\x01\n" +
"\x1aVersionedTaskQueueUserData\x12I\n" +
"\x04data\x18\x01 \x01(\v25.temporal.server.api.persistence.v1.TaskQueueUserDataR\x04data\x12\x18\n" +
"\aversion\x18\x02 \x01(\x03R\aversionB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\aversion\x18\x02 \x01(\x03R\aversionB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_task_queues_proto_rawDescOnce sync.Once
+3 -3
View File
@@ -13,8 +13,8 @@ import (
v12 "go.temporal.io/api/common/v1"
v13 "go.temporal.io/api/enums/v1"
v1 "go.temporal.io/server/api/clock/v1"
v11 "go.temporal.io/server/api/taskqueue/v1"
v1 "github.com/hanzoai/tasks/api/clock/v1"
v11 "github.com/hanzoai/tasks/api/taskqueue/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
@@ -648,7 +648,7 @@ const file_temporal_server_api_persistence_v1_tasks_proto_rawDesc = "" +
"\bpriority\x18\x01 \x01(\x05R\bpriority\"[\n" +
"\aTaskKey\x127\n" +
"\tfire_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\bfireTime\x12\x17\n" +
"\atask_id\x18\x02 \x01(\x03R\x06taskIdB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\atask_id\x18\x02 \x01(\x03R\x06taskIdB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_tasks_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -385,7 +385,7 @@ const file_temporal_server_api_persistence_v1_update_proto_rawDesc = "" +
"completion\x12W\n" +
"\tadmission\x18\x03 \x01(\v27.temporal.server.api.persistence.v1.UpdateAdmissionInfoH\x00R\tadmission\x12\x80\x01\n" +
" last_update_versioned_transition\x18\x04 \x01(\v27.temporal.server.api.persistence.v1.VersionedTransitionR\x1dlastUpdateVersionedTransitionB\a\n" +
"\x05valueB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\x05valueB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_update_proto_rawDescOnce sync.Once
@@ -439,7 +439,7 @@ const file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_rawDe
"\x03key\x18\x01 \x01(\tR\x03key\x12C\n" +
"\x05value\x18\x02 \x01(\v2-.temporal.server.api.persistence.v1.ChasmNodeR\x05value:\x028\x01J\x04\b\b\x10\tJ\x04\b\t\x10\n" +
"J\x04\b\n" +
"\x10\vJ\x04\b\v\x10\fJ\x04\b\f\x10\rJ\x04\b\r\x10\x0eJ\x04\b\x0e\x10\x0fB6Z4go.temporal.io/server/api/persistence/v1;persistenceb\x06proto3"
"\x10\vJ\x04\b\v\x10\fJ\x04\b\f\x10\rJ\x04\b\r\x10\x0eJ\x04\b\x0e\x10\x0fB6Z4github.com/hanzoai/tasks/api/persistence/v1;persistenceb\x06proto3"
var (
file_temporal_server_api_persistence_v1_workflow_mutable_state_proto_rawDescOnce sync.Once
+5 -5
View File
@@ -15,10 +15,10 @@ import (
v15 "go.temporal.io/api/failure/v1"
v13 "go.temporal.io/api/namespace/v1"
v14 "go.temporal.io/api/replication/v1"
v1 "go.temporal.io/server/api/enums/v1"
v16 "go.temporal.io/server/api/history/v1"
v12 "go.temporal.io/server/api/persistence/v1"
v17 "go.temporal.io/server/api/workflow/v1"
v1 "github.com/hanzoai/tasks/api/enums/v1"
v16 "github.com/hanzoai/tasks/api/history/v1"
v12 "github.com/hanzoai/tasks/api/persistence/v1"
v17 "github.com/hanzoai/tasks/api/workflow/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
@@ -2300,7 +2300,7 @@ const file_temporal_server_api_replication_v1_message_proto_rawDesc = "" +
"\vbusiness_id\x18\x01 \x01(\tR\n" +
"workflowId\x12\x15\n" +
"\x06run_id\x18\x02 \x01(\tR\x05runId\x12!\n" +
"\farchetype_id\x18\x03 \x01(\rR\varchetypeIdB5Z3go.temporal.io/server/api/replication/v1;repicationb\x06proto3"
"\farchetype_id\x18\x03 \x01(\rR\varchetypeIdB5Z3github.com/hanzoai/tasks/api/replication/v1;repicationb\x06proto3"
var (
file_temporal_server_api_replication_v1_message_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -113,7 +113,7 @@ const file_temporal_server_api_routing_v1_extension_proto_rawDesc = "" +
"\fnamespace_id\x18\x02 \x01(\tR\vnamespaceId\x12\x1f\n" +
"\vbusiness_id\x18\x03 \x01(\tR\n" +
"businessId:l\n" +
"\arouting\x12\x1e.google.protobuf.MethodOptions\x18\xc28 \x01(\v2..temporal.server.api.routing.v1.RoutingOptionsR\arouting\x88\x01\x01B.Z,go.temporal.io/server/api/routing/v1;routingb\x06proto3"
"\arouting\x12\x1e.google.protobuf.MethodOptions\x18\xc28 \x01(\v2..temporal.server.api.routing.v1.RoutingOptionsR\arouting\x88\x01\x01B.Z,github.com/hanzoai/tasks/api/routing/v1;routingb\x06proto3"
var (
file_temporal_server_api_routing_v1_extension_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -1129,7 +1129,7 @@ const file_temporal_server_api_schedule_v1_message_proto_rawDesc = "" +
"\n" +
"next_times\x18\x03 \x03(\x03R\tnextTimes\x12#\n" +
"\rnominal_times\x18\x04 \x03(\x03R\fnominalTimes\x12\x1c\n" +
"\tcompleted\x18\x05 \x01(\bR\tcompletedB0Z.go.temporal.io/server/api/schedule/v1;scheduleb\x06proto3"
"\tcompleted\x18\x05 \x01(\bR\tcompletedB0Z.github.com/hanzoai/tasks/api/schedule/v1;scheduleb\x06proto3"
var (
file_temporal_server_api_schedule_v1_message_proto_rawDescOnce sync.Once
+3 -3
View File
@@ -14,8 +14,8 @@ import (
v11 "go.temporal.io/api/deployment/v1"
v1 "go.temporal.io/api/enums/v1"
v13 "go.temporal.io/api/taskqueue/v1"
v12 "go.temporal.io/server/api/deployment/v1"
v14 "go.temporal.io/server/api/enums/v1"
v12 "github.com/hanzoai/tasks/api/deployment/v1"
v14 "github.com/hanzoai/tasks/api/enums/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
@@ -986,7 +986,7 @@ const file_temporal_server_api_taskqueue_v1_message_proto_rawDesc = "" +
"\aversion\x18\x02 \x03(\v29.temporal.server.api.taskqueue.v1.EphemeralData.ByVersionR\aversion\"w\n" +
"\x16VersionedEphemeralData\x12C\n" +
"\x04data\x18\x01 \x01(\v2/.temporal.server.api.taskqueue.v1.EphemeralDataR\x04data\x12\x18\n" +
"\aversion\x18\x02 \x01(\x03R\aversionB2Z0go.temporal.io/server/api/taskqueue/v1;taskqueueb\x06proto3"
"\aversion\x18\x02 \x01(\x03R\aversionB2Z0github.com/hanzoai/tasks/api/taskqueue/v1;taskqueueb\x06proto3"
var (
file_temporal_server_api_taskqueue_v1_message_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -118,7 +118,7 @@ const file_temporal_server_api_testservice_v1_request_response_proto_rawDesc = "
"\x10SendHelloRequest\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\"-\n" +
"\x11SendHelloResponse\x12\x18\n" +
"\amessage\x18\x01 \x01(\tR\amessageB6Z4go.temporal.io/server/api/testservice/v1;testserviceb\x06proto3"
"\amessage\x18\x01 \x01(\tR\amessageB6Z4github.com/hanzoai/tasks/api/testservice/v1;testserviceb\x06proto3"
var (
file_temporal_server_api_testservice_v1_request_response_proto_rawDescOnce sync.Once
+1 -1
View File
@@ -27,7 +27,7 @@ const file_temporal_server_api_testservice_v1_service_proto_rawDesc = "" +
"\n" +
"0temporal/server/api/testservice/v1/service.proto\x12\"temporal.server.api.testservice.v1\x1a9temporal/server/api/testservice/v1/request_response.proto2\x89\x01\n" +
"\vTestService\x12z\n" +
"\tSendHello\x124.temporal.server.api.testservice.v1.SendHelloRequest\x1a5.temporal.server.api.testservice.v1.SendHelloResponse\"\x00B6Z4go.temporal.io/server/api/testservice/v1;testserviceb\x06proto3"
"\tSendHello\x124.temporal.server.api.testservice.v1.SendHelloRequest\x1a5.temporal.server.api.testservice.v1.SendHelloResponse\"\x00B6Z4github.com/hanzoai/tasks/api/testservice/v1;testserviceb\x06proto3"
var file_temporal_server_api_testservice_v1_service_proto_goTypes = []any{
(*SendHelloRequest)(nil), // 0: temporal.server.api.testservice.v1.SendHelloRequest
@@ -13,7 +13,7 @@ import (
context "context"
reflect "reflect"
testservice "go.temporal.io/server/api/testservice/v1"
testservice "github.com/hanzoai/tasks/api/testservice/v1"
gomock "go.uber.org/mock/gomock"
grpc "google.golang.org/grpc"
)
+4 -4
View File
@@ -11,9 +11,9 @@ import (
sync "sync"
unsafe "unsafe"
v12 "go.temporal.io/server/api/clock/v1"
v1 "go.temporal.io/server/api/history/v1"
v11 "go.temporal.io/server/api/persistence/v1"
v12 "github.com/hanzoai/tasks/api/clock/v1"
v1 "github.com/hanzoai/tasks/api/history/v1"
v11 "github.com/hanzoai/tasks/api/persistence/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
@@ -719,7 +719,7 @@ const file_temporal_server_api_token_v1_message_proto_rawDesc = "" +
"\x03ref\x18\x04 \x01(\v23.temporal.server.api.persistence.v1.StateMachineRefR\x03ref\x12\x1d\n" +
"\n" +
"request_id\x18\x05 \x01(\tR\trequestId\x12#\n" +
"\rcomponent_ref\x18\x06 \x01(\fR\fcomponentRefB*Z(go.temporal.io/server/api/token/v1;tokenb\x06proto3"
"\rcomponent_ref\x18\x06 \x01(\fR\fcomponentRefB*Z(github.com/hanzoai/tasks/api/token/v1;tokenb\x06proto3"
var (
file_temporal_server_api_token_v1_message_proto_rawDescOnce sync.Once
+2 -2
View File
@@ -12,7 +12,7 @@ import (
unsafe "unsafe"
v1 "go.temporal.io/api/common/v1"
v11 "go.temporal.io/server/api/clock/v1"
v11 "github.com/hanzoai/tasks/api/clock/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
@@ -244,7 +244,7 @@ const file_temporal_server_api_workflow_v1_message_proto_rawDesc = "" +
"\x11BaseExecutionInfo\x12\x15\n" +
"\x06run_id\x18\x01 \x01(\tR\x05runId\x12D\n" +
"\x1flowest_common_ancestor_event_id\x18\x02 \x01(\x03R\x1blowestCommonAncestorEventId\x12N\n" +
"$lowest_common_ancestor_event_version\x18\x03 \x01(\x03R lowestCommonAncestorEventVersionB0Z.go.temporal.io/server/api/workflow/v1;workflowb\x06proto3"
"$lowest_common_ancestor_event_version\x18\x03 \x01(\x03R lowestCommonAncestorEventVersionB0Z.github.com/hanzoai/tasks/api/workflow/v1;workflowb\x06proto3"
var (
file_temporal_server_api_workflow_v1_message_proto_rawDescOnce sync.Once
+2 -2
View File
@@ -4,8 +4,8 @@ import (
"context"
"time"
"go.temporal.io/server/common/log"
"go.temporal.io/server/common/metrics"
"github.com/hanzoai/tasks/common/log"
"github.com/hanzoai/tasks/common/metrics"
)
type Context interface {
+3 -3
View File
@@ -6,9 +6,9 @@ import (
"sync"
"time"
"go.temporal.io/server/common/log"
"go.temporal.io/server/common/log/tag"
"go.temporal.io/server/common/metrics"
"github.com/hanzoai/tasks/common/log"
"github.com/hanzoai/tasks/common/log/tag"
"github.com/hanzoai/tasks/common/metrics"
)
var _ Context = (*MockContext)(nil)
+1 -1
View File
@@ -5,7 +5,7 @@ package chasm
import (
"context"
"go.temporal.io/server/common/log"
"github.com/hanzoai/tasks/common/log"
)
// NoValue is a sentinel type representing no value.
+8 -8
View File
@@ -7,14 +7,14 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
persistencespb "go.temporal.io/server/api/persistence/v1"
"go.temporal.io/server/common/clock"
"go.temporal.io/server/common/definition"
"go.temporal.io/server/common/log"
"go.temporal.io/server/common/metrics"
"go.temporal.io/server/common/primitives"
"go.temporal.io/server/common/testing/protorequire"
"go.temporal.io/server/common/testing/testlogger"
persistencespb "github.com/hanzoai/tasks/api/persistence/v1"
"github.com/hanzoai/tasks/common/clock"
"github.com/hanzoai/tasks/common/definition"
"github.com/hanzoai/tasks/common/log"
"github.com/hanzoai/tasks/common/metrics"
"github.com/hanzoai/tasks/common/primitives"
"github.com/hanzoai/tasks/common/testing/protorequire"
"github.com/hanzoai/tasks/common/testing/testlogger"
"go.uber.org/mock/gomock"
)
+4 -4
View File
@@ -6,10 +6,10 @@ import (
"testing"
"github.com/stretchr/testify/require"
"go.temporal.io/server/chasm"
"go.temporal.io/server/chasm/lib/tests/gen/testspb/v1"
"go.temporal.io/server/common/log"
"go.temporal.io/server/common/metrics"
"github.com/hanzoai/tasks/chasm"
"github.com/hanzoai/tasks/chasm/lib/tests/gen/testspb/v1"
"github.com/hanzoai/tasks/common/log"
"github.com/hanzoai/tasks/common/metrics"
"go.uber.org/mock/gomock"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
+2 -2
View File
@@ -3,8 +3,8 @@ package chasm
import (
"context"
"go.temporal.io/server/common/log"
"go.temporal.io/server/common/metrics"
"github.com/hanzoai/tasks/common/log"
"github.com/hanzoai/tasks/common/metrics"
"google.golang.org/grpc"
)
+12 -12
View File
@@ -13,18 +13,18 @@ import (
historypb "go.temporal.io/api/history/v1"
"go.temporal.io/api/serviceerror"
"go.temporal.io/api/workflowservice/v1"
"go.temporal.io/server/api/historyservice/v1"
"go.temporal.io/server/api/matchingservice/v1"
tokenspb "go.temporal.io/server/api/token/v1"
"go.temporal.io/server/chasm"
"go.temporal.io/server/chasm/lib/activity/gen/activitypb/v1"
"go.temporal.io/server/common"
"go.temporal.io/server/common/backoff"
"go.temporal.io/server/common/dynamicconfig"
"go.temporal.io/server/common/metrics"
"go.temporal.io/server/common/payload"
serviceerrors "go.temporal.io/server/common/serviceerror"
"go.temporal.io/server/common/tqid"
"github.com/hanzoai/tasks/api/historyservice/v1"
"github.com/hanzoai/tasks/api/matchingservice/v1"
tokenspb "github.com/hanzoai/tasks/api/token/v1"
"github.com/hanzoai/tasks/chasm"
"github.com/hanzoai/tasks/chasm/lib/activity/gen/activitypb/v1"
"github.com/hanzoai/tasks/common"
"github.com/hanzoai/tasks/common/backoff"
"github.com/hanzoai/tasks/common/dynamicconfig"
"github.com/hanzoai/tasks/common/metrics"
"github.com/hanzoai/tasks/common/payload"
serviceerrors "github.com/hanzoai/tasks/common/serviceerror"
"github.com/hanzoai/tasks/common/tqid"
"google.golang.org/protobuf/types/known/durationpb"
"google.golang.org/protobuf/types/known/timestamppb"
)
+6 -6
View File
@@ -4,12 +4,12 @@ import (
"context"
enumspb "go.temporal.io/api/enums/v1"
"go.temporal.io/server/chasm"
"go.temporal.io/server/chasm/lib/activity/gen/activitypb/v1"
"go.temporal.io/server/common/metrics"
"go.temporal.io/server/common/namespace"
"go.temporal.io/server/common/resource"
"go.temporal.io/server/common/util"
"github.com/hanzoai/tasks/chasm"
"github.com/hanzoai/tasks/chasm/lib/activity/gen/activitypb/v1"
"github.com/hanzoai/tasks/common/metrics"
"github.com/hanzoai/tasks/common/namespace"
"github.com/hanzoai/tasks/common/resource"
"github.com/hanzoai/tasks/common/util"
"go.uber.org/fx"
)
+4 -4
View File
@@ -7,10 +7,10 @@ import (
"github.com/stretchr/testify/require"
commonpb "go.temporal.io/api/common/v1"
taskqueuepb "go.temporal.io/api/taskqueue/v1"
"go.temporal.io/server/api/historyservice/v1"
"go.temporal.io/server/chasm"
"go.temporal.io/server/chasm/lib/activity/gen/activitypb/v1"
serviceerrors "go.temporal.io/server/common/serviceerror"
"github.com/hanzoai/tasks/api/historyservice/v1"
"github.com/hanzoai/tasks/chasm"
"github.com/hanzoai/tasks/chasm/lib/activity/gen/activitypb/v1"
serviceerrors "github.com/hanzoai/tasks/common/serviceerror"
"google.golang.org/protobuf/types/known/durationpb"
"google.golang.org/protobuf/types/known/timestamppb"
)
+2 -2
View File
@@ -3,8 +3,8 @@ package activity
import (
"time"
"go.temporal.io/server/common/dynamicconfig"
"go.temporal.io/server/common/retrypolicy"
"github.com/hanzoai/tasks/common/dynamicconfig"
"github.com/hanzoai/tasks/common/retrypolicy"
)
var (
+7 -7
View File
@@ -9,13 +9,13 @@ import (
enumspb "go.temporal.io/api/enums/v1"
"go.temporal.io/api/serviceerror"
"go.temporal.io/api/workflowservice/v1"
"go.temporal.io/server/chasm"
"go.temporal.io/server/chasm/lib/activity/gen/activitypb/v1"
"go.temporal.io/server/common"
"go.temporal.io/server/common/log"
"go.temporal.io/server/common/metrics"
"go.temporal.io/server/common/namespace"
"go.temporal.io/server/common/searchattribute"
"github.com/hanzoai/tasks/chasm"
"github.com/hanzoai/tasks/chasm/lib/activity/gen/activitypb/v1"
"github.com/hanzoai/tasks/common"
"github.com/hanzoai/tasks/common/log"
"github.com/hanzoai/tasks/common/metrics"
"github.com/hanzoai/tasks/common/namespace"
"github.com/hanzoai/tasks/common/searchattribute"
"google.golang.org/protobuf/types/known/durationpb"
"google.golang.org/protobuf/types/known/emptypb"
"google.golang.org/protobuf/types/known/timestamppb"
+3 -3
View File
@@ -1,9 +1,9 @@
package activity
import (
"go.temporal.io/server/chasm"
"go.temporal.io/server/chasm/lib/activity/gen/activitypb/v1"
"go.temporal.io/server/common/resource"
"github.com/hanzoai/tasks/chasm"
"github.com/hanzoai/tasks/chasm/lib/activity/gen/activitypb/v1"
"github.com/hanzoai/tasks/common/resource"
"go.uber.org/fx"
)
@@ -954,7 +954,7 @@ const file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_rawD
" ACTIVITY_EXECUTION_STATUS_FAILED\x10\x05\x12&\n" +
"\"ACTIVITY_EXECUTION_STATUS_CANCELED\x10\x06\x12(\n" +
"$ACTIVITY_EXECUTION_STATUS_TERMINATED\x10\a\x12'\n" +
"#ACTIVITY_EXECUTION_STATUS_TIMED_OUT\x10\bBDZBgo.temporal.io/server/chasm/lib/activity/gen/activitypb;activitypbb\x06proto3"
"#ACTIVITY_EXECUTION_STATUS_TIMED_OUT\x10\bBDZBgithub.com/hanzoai/tasks/chasm/lib/activity/gen/activitypb;activitypbb\x06proto3"
var (
file_temporal_server_chasm_lib_activity_proto_v1_activity_state_proto_rawDescOnce sync.Once
@@ -514,7 +514,7 @@ const file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_ra
"%RequestCancelActivityExecutionRequest\x12!\n" +
"\fnamespace_id\x18\x01 \x01(\tR\vnamespaceId\x12q\n" +
"\x10frontend_request\x18\x02 \x01(\v2F.temporal.api.workflowservice.v1.RequestCancelActivityExecutionRequestR\x0ffrontendRequest\"(\n" +
"&RequestCancelActivityExecutionResponseBDZBgo.temporal.io/server/chasm/lib/activity/gen/activitypb;activitypbb\x06proto3"
"&RequestCancelActivityExecutionResponseBDZBgithub.com/hanzoai/tasks/chasm/lib/activity/gen/activitypb;activitypbb\x06proto3"
var (
file_temporal_server_chasm_lib_activity_proto_v1_request_response_proto_rawDescOnce sync.Once
@@ -10,8 +10,8 @@ import (
reflect "reflect"
unsafe "unsafe"
_ "go.temporal.io/server/api/common/v1"
_ "go.temporal.io/server/api/routing/v1"
_ "github.com/hanzoai/tasks/api/common/v1"
_ "github.com/hanzoai/tasks/api/routing/v1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
@@ -33,7 +33,7 @@ const file_temporal_server_chasm_lib_activity_proto_v1_service_proto_rawDesc = "
"\x19DescribeActivityExecution\x12M.temporal.server.chasm.lib.activity.proto.v1.DescribeActivityExecutionRequest\x1aN.temporal.server.chasm.lib.activity.proto.v1.DescribeActivityExecutionResponse\"(\x92\xc4\x03\x1e\x1a\x1cfrontend_request.activity_id\x8a\xb5\x18\x02\b\x01\x12\xd8\x01\n" +
"\x15PollActivityExecution\x12I.temporal.server.chasm.lib.activity.proto.v1.PollActivityExecutionRequest\x1aJ.temporal.server.chasm.lib.activity.proto.v1.PollActivityExecutionResponse\"(\x92\xc4\x03\x1e\x1a\x1cfrontend_request.activity_id\x8a\xb5\x18\x02\b\x02\x12\xe7\x01\n" +
"\x1aTerminateActivityExecution\x12N.temporal.server.chasm.lib.activity.proto.v1.TerminateActivityExecutionRequest\x1aO.temporal.server.chasm.lib.activity.proto.v1.TerminateActivityExecutionResponse\"(\x92\xc4\x03\x1e\x1a\x1cfrontend_request.activity_id\x8a\xb5\x18\x02\b\x01\x12\xf3\x01\n" +
"\x1eRequestCancelActivityExecution\x12R.temporal.server.chasm.lib.activity.proto.v1.RequestCancelActivityExecutionRequest\x1aS.temporal.server.chasm.lib.activity.proto.v1.RequestCancelActivityExecutionResponse\"(\x92\xc4\x03\x1e\x1a\x1cfrontend_request.activity_id\x8a\xb5\x18\x02\b\x01BDZBgo.temporal.io/server/chasm/lib/activity/gen/activitypb;activitypbb\x06proto3"
"\x1eRequestCancelActivityExecution\x12R.temporal.server.chasm.lib.activity.proto.v1.RequestCancelActivityExecutionRequest\x1aS.temporal.server.chasm.lib.activity.proto.v1.RequestCancelActivityExecutionResponse\"(\x92\xc4\x03\x1e\x1a\x1cfrontend_request.activity_id\x8a\xb5\x18\x02\b\x01BDZBgithub.com/hanzoai/tasks/chasm/lib/activity/gen/activitypb;activitypbb\x06proto3"
var file_temporal_server_chasm_lib_activity_proto_v1_service_proto_goTypes = []any{
(*StartActivityExecutionRequest)(nil), // 0: temporal.server.chasm.lib.activity.proto.v1.StartActivityExecutionRequest
@@ -5,16 +5,16 @@ import (
"context"
"time"
"go.temporal.io/server/client/history"
"go.temporal.io/server/common"
"go.temporal.io/server/common/backoff"
"go.temporal.io/server/common/config"
"go.temporal.io/server/common/dynamicconfig"
"go.temporal.io/server/common/headers"
"go.temporal.io/server/common/log"
"go.temporal.io/server/common/membership"
"go.temporal.io/server/common/metrics"
"go.temporal.io/server/common/primitives"
"github.com/hanzoai/tasks/client/history"
"github.com/hanzoai/tasks/common"
"github.com/hanzoai/tasks/common/backoff"
"github.com/hanzoai/tasks/common/config"
"github.com/hanzoai/tasks/common/dynamicconfig"
"github.com/hanzoai/tasks/common/headers"
"github.com/hanzoai/tasks/common/log"
"github.com/hanzoai/tasks/common/membership"
"github.com/hanzoai/tasks/common/metrics"
"github.com/hanzoai/tasks/common/primitives"
"google.golang.org/grpc"
)

Some files were not shown because too many files have changed in this diff Show More