- Switch cloudbuild.yaml to docker buildx with QEMU so every build produces
both amd64 and arm64 manifests under a single tag (manifest list).
- Bump default tag to v2.0.0 and also tag :latest on every push.
- Anchor binary-excludes in .dockerignore / .gcloudignore to repo root
(/tasksd, /tdbg, ...) so cmd/tasksd/ source tree is not stripped.
- Stop excluding tests/testutils — imported from non-test code in
common/persistence/cassandra/test.go.
## What changed?
- Revive and update original PR #2977 for Elasticsearch CLI tool
Replaces manual curl invocations with a proper CLI tool that leverages
Temporal's built-in Elasticsearch auth providers and provides better
error handling and logging.
## How did you test it?
- [x] built
- [x] run locally and tested manually
- [ ] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)
## Potential risks
None, net new.
---
> [!NOTE]
> Introduces `temporal-elasticsearch-tool` for ES schema/index
management and ping, extends ES client APIs, embeds ES schema, and
updates Makefile to use the tool.
>
> - **Tools**:
> - New `temporal-elasticsearch-tool` CLI with commands: `setup-schema`,
`update-schema`, `create-index`, `drop-index`, `ping`; supports AWS auth
and uses embedded schema files.
> - Adds entrypoint `cmd/tools/elasticsearch`, README, and basic tests.
> - **Elasticsearch Client**:
> - Extends `CLIClient` with `ClusterPutSettings`, `IndexPutTemplate`,
`IndexPutMapping`, `Ping` and implements them (v7) using raw requests
where needed; allows custom HTTP client from config (e.g., AWS-signed).
> - **Schema**:
> - Embeds ES v7 cluster settings and index template
(`schema.Embedded...` accessors).
> - **Build/Makefile**:
> - Adds build target and binary cleanup for
`temporal-elasticsearch-tool`; updates `install-schema-es` and
`install-schema-xdc` to use the CLI instead of curl.
> - Includes binary in `.goreleaser.yml`; excludes it in
`.dockerignore`.
>
> <sup>Written by [Cursor
Bugbot]() for commit
b37864809ac95a427e74b2a424852992aac2442b. This will update automatically
on new commits. Configure
[here]().</sup>
**What changed?**
- In CI, build most of the tests and dependencies and reuse them in
subsequent steps.
- Additionally pre-build dependencies separately on a weekly schedule
(in buildkite configuration) and reuse them when possible.
- Add more test sharding for functional tests (split the main functional
test suite into three).
**Why?**
Increase parallelism, reduce latency of getting test results, reduce
granularity of retries
**How did you test it?**
lots of testing on buildkite
**Potential risks**
**Is hotfix candidate?**
Rename generated binaries:
- cadence -> temporal
- cadence-server -> temporal-server
- cadence-canary -> temporal-canary
- cadence-sql-tool -> temporal-sql-tool
- cadecne-cassandra-tool -> temporal-cassandra-tool
Moved core schema files for all database implementation to be under temporal folder.
Also used 'temporal' as keyspace or database name for core schema.
Renamed all environment variable to use TEMPORAL instead of CADENCE.
Renamed all docker scripts to references to point to new executables and mention
temporal.
Change reference to buildkite pipelines for temporal.
* Update DockerFile to work with temporal repo
* Update DockerFile for proto changes and shrink build context
* updating DockerFile for copying proto files
* updating docker readme with SSH arg