Commit Graph

60 Commits

Author SHA1 Message Date
Chris Smith
d74eabf207 Mention go-generate when building local changes (#10174)
## What changed?

A couple of trivial changes to `CONTRIBUTING.md`.

## Why?

- Mention `make go-generate` in the instructions for building with API
changes from other repos. This step is required if adding new endpoints,
such as extending `workflowservice.WorkflowServiceClient`.
- Removes reference to the `make copyright` target. The copyright
headers were removed in
https://github.com/temporalio/temporal/pull/7689, which was merged last
year.


## How did you test it?

NA

## Potential risks

None
2026-05-04 22:35:42 +00:00
long-nt-tran
8f786c8430 Update local postgres-backed start command in doc (#9653)
## What changed?

There is no `start-postgresql` target in Makefile, the target is
`start-postgres` or `start-postgres12` per the Makefile:
https://github.com/temporalio/temporal/blob/main/Makefile#L674-L677.

If reviewers prefer I can use `start-postgres12` directly.

I decided against updating the actual Makefile target in case it's used
somewhere I'm not aware of.

## Why?

Keep documentation up-to-date.

## How did you test it?
- [ ] built
- [ ] run locally and tested manually
- [ ] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)
2026-03-25 11:26:49 -04:00
Alex Stanfield
c4dfb49a2e Remove Docker Builds submodule update (#9194)
## What changed?
- Remove Docker Builds submodule update 
- update instructions on updating the go version

## Why?
docker-builds is no longer used to build server docker images for new
releases
2026-02-26 11:42:46 -06:00
KeithB-Temporal
c9ca0830a3 Improve CONTRIBUTING.md to update commands, remind you need to start (#8891)
## What changed?
Documentation change only. Updated CONTRIBUTING.md to provide more
explicit instructions about dependencies, update create namespace
command to pass the -n option, remind that you need to start optional
dependencies to use the UI, be opinionated about a first sample to try
out after getting the server running.

## Why?
Because these types of guides should aspire to the don't make me think
principle.

## How did you test it?
- [X] built
- [X] run locally and tested manually
- [X] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)

Co-authored-by: Keith Bodin <keith@Keiths-MacBook-Pro.local>
2026-01-02 16:05:53 +00:00
Alex Stanfield
1b109c3590 Simplify Config Templating (#8685)
## What changed?
* Remove previously support for `dockerize` syntax. Now we just support
`sprig`
* updated embedded config 

## Why?
Simplification 

## How did you test it?
- [x] covered by existing tests
- [x] added new unit test(s)

## Potential risks
Existing config templates will need to be updated to use `sprig` only
syntax. Otherwise the server will not be able to read it.
2025-12-05 16:38:32 +00:00
Alex Stanfield
70c2b81dca Update Configuration Loading (#8477)
## What Changed

This PR introduces a new `--config-file` flag (and the
`TEMPORAL_SERVER_CONFIG_FILE_PATH ` environment variable) to remove the
dependency on `dockerize` in the Temporal server Docker image.

When a configuration file is specified using either the CLI flag or the
environment variable, the server will load configuration **only** from
that file.
Users who want templating behavior similar to `dockerize` can enable it
by adding the comment `# enable-template` at the top of the
configuration file.

---

### Key Changes

1. **New `--config-file` flag:**

* Adds a global `--config-file` flag that accepts a path to a single
configuration file (absolute or relative to the project root).
* Can also be set via the `TEMPORAL_SERVER_CONFIG_FILE_PATH `
environment variable.

2. **Deprecated legacy flags:**

* The `--config`, `--env`, and `--zone` flags are now marked as
**deprecated** in CLI help text.
   * These flags still work for backward compatibility.

3. **Embedded config template:**

* The `config_template.yaml` file is now embedded in the binary to
support loading configuration from environment variables.
* Templating is supported if the file includes the `# enable-template`
comment at the top.

4. **Templating support:**

* Configuration files can use templating by including `#
enable-template` at the beginning of the YAML file.

---

### Configuration Loading Priority (Highest to Lowest)

1. **`--config-file` specified** → Load that specific file
2. **`--config`, `--env`, or `--zone` specified** → Load from
configuration directory (**deprecated**)
3. **No configuration specified** → Load from embedded template using
environment variables (default)

---

### Expected Behavior

The following examples illustrate how the new configuration loading
logic behaves:

* **Default behavior:**
Running `temporal start` without flags loads configuration from
environment variables only using the embedded template.

* **Using `--config-file`:**
`temporal --config-file=/path/to/config.yaml start` loads configuration
from the specified file path.

* **Using `TEMPORAL_SERVER_CONFIG_FILE_PATH`:**
Setting `TEMPORAL_SERVER_CONFIG_FILE_PATH=/path/to/config.yaml temporal
start` has the same effect as using the flag.

* **Validation and error handling:**
The CLI returns clear error messages when conflicting flags or
environment variables are used, or when a specified file does not exist.
---

## Breaking Change

The default behavior of `temporal start` has changed.
It now loads configuration **from environment variables** instead of
using a default template path.

---------

Co-authored-by: Alex Stanfield <chaptersix@users.noreply.github.com>
Co-authored-by: michaely520 <michaely520@users.noreply.github.com>
Co-authored-by: Yichao Yang <yichao@temporal.io>
Co-authored-by: David Reiss <david@temporal.io>
2025-11-18 16:23:25 +00:00
Fred Tzeng
9a1fe784f7 Reduced log level of failed Nexus requests originating from worker (#8306)
## What changed?
- Reduced log level of failed Nexus requests originating from worker to
debug level.
- Updated CONTRIBUTING.md and testing.md to reflect current status and
to include IDE debugging.
- Added failure source setting to worker in nexus handler when dispatch
context deadline exceeded.

## Why?
- Today we log an error for every request, which pollutes server logs
and is inconsistent with activity and workflow task failures. We don't
want to completely lose visibility into these errors since some of the
errors can originate internally and may be tricky to debug.
- We've missed spots in setting worker failure source in the nexus
handler
- The docs are a bit outdated, and it's also helpful to have IDE
specific debugging instructions.

## How did you test it?
- [X] built
- [X] run locally and tested manually
- [X] covered by existing tests
- [ ] added new unit test(s)
- [ ] added new functional test(s)

## Ticket
[OSS-4548](https://temporalio.atlassian.net/browse/OSS-4548)



[OSS-4548]:
https://temporalio.atlassian.net/browse/OSS-4548?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Co-authored-by: Roey Berman <roey.berman@gmail.com>
2025-09-11 13:41:29 -07:00
David Reiss
0682c47718 Remove utf8validator and protolegacy build tag (#7146)
## What changed?
Remove the utf8validator component and stop building with protolegacy.

## Why?
Let protobuf validate all strings are valid UTF-8 as specified.

## How did you test it?
Will go through normal release validation.

## Potential risks
All rpcs and persisted data containing invalid UTF-8 in strings will be
rejected immediately. We've been monitoring for invalid data in Temporal
Cloud for most of a year now and all the bad data is gone.
2025-01-24 12:24:24 -08:00
Stephan Behnke
9036687c51 Go version bump docs (#6704)
WISOTT
2024-10-24 09:32:32 -07:00
Alex Shtin
e8e20431ff Document Workflow Update internals (#6448)
## What changed?
<!-- Describe what has changed in this PR -->
Document Workflow Update internals.

## Why?
<!-- Tell your future self why have you made these changes -->
For better visibility on how Workflow Update is implemented.

---------

Co-authored-by: Stephan Behnke <stephanos@users.noreply.github.com>
2024-09-03 12:09:06 -07:00
Alex Shtin
cfa83d7c34 Fix go version in CONTRIBUTING.md (#6367)
## What changed?
<!-- Describe what has changed in this PR -->
Fix go version in `CONTRIBUTING.md`.

## Why?
<!-- Tell your future self why have you made these changes -->
Follow up to #6019.
2024-08-01 19:32:55 +00:00
Brendan Gerrity
459ad6902d Fix license spelling (#6019)
Fixed the inconsistent 🪪  spelling in the repo.

Co-authored-by: Alex Shtin <alex@temporal.io>
2024-07-26 21:19:16 -07:00
David Reiss
6b8366ebcd Remove proto/api submodule (#5868)
## What changed?
- Remove `proto/api` submodule.
- Adds a new program that's automatically run by the Makefile as
required to output the api protos in binary form, which can be used by
most tools. The command is run by `go run` and uses the same api-go
reference as the rest of the server for the source protos.
- Removed http annotations from internal matchingservice proto.

## Why?
- Ensure that the api-go import (in go.mod) and the proto files imported
by this repo's proto files are always in sync.
- Simplify update process, stop having to mess with submodules.

## How did you test it?
running commands manually a lot

## Potential risks
Importing protos from somewhere other than our api and google well-known
protos may require some updates to the script's import path logic.

## Documentation
updated docs
2024-06-05 16:20:30 -07:00
Stephan Behnke
80ec9635f0 Testing docs (#6005)
## What changed?
<!-- Describe what has changed in this PR -->

Create new `testing.md` with test-specific developer guidance.

It's still very short, happy to add anything else now if there is any -
or just grow it over time.

## Why?
<!-- Tell your future self why have you made these changes -->

To document testing patterns and agreements.

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->

## Documentation
<!-- Have you made sure this change doesn't falsify anything currently
stated in `docs/`? If significant
new behavior is added, have you described that in `docs/`? -->

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
2024-05-29 10:25:12 -07:00
Dan Davison
c99890d370 Document how to work with merged API changes in a feature branch (#5805) 2024-04-27 18:06:18 -04:00
Tim Deeb-Swihart
4d3162035a Remove makefile targets for the cli, tctl, and ui (#5700)
## What changed?
I removed the makefile targets for installing and updating our CLI,
`tctl`, and our UI as they're no longer used for development.

If you need these, we recommend installing them through other means.

## Why?
These are unused and, in the case of update-cli, insecure.
2024-04-10 15:21:02 -07:00
Michael Snowden
676657cbf4 Reorganize docs (#5535)
## What changed?
<!-- Describe what has changed in this PR -->
I reorganized our docs into `docs/{admin,architecture,development}`.

## Why?
<!-- Tell your future self why have you made these changes -->
We discussed this internally, but I believe this is a better
segmentation for the different audiences looking at our docs. I plan on
adding more stuff to docs/admin like metrics and dynamic config docs.

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
I'm mainly looking for broken links.
- I went through each markdown file in docs manually. 
- I looked through all inspection errors in the IDE.
- I looked at all references to "docs/" or "develop/" in our code.

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->

## Documentation
<!-- Have you made sure this change doesn't falsify anything currently
stated in `docs/`? If significant
new behavior is added, have you described that in `docs/`? -->

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
2024-03-18 23:13:02 -07:00
Tim Deeb-Swihart
049334aa67 Update api-go and sdk-go to allow invalid UTF-8 in protos (#5476)
## What changed?
I've upgraded the version of our Go API in order to allow invalid UTF-8
data in our proto strings.

Please review
5cf979058d
only

## Why?
The version of gogo/protobuf we used allowed invalid UTF-8 in strings
which is a violation of the proto3 spec. We were unaware of this until
our new google/protobuf based structs began failing to deserialize data
we'd used previously

## How did you test it?
I added a new end-to-end test to verify that we can create, describe,
and delete a namespace that contains invalid UTF-8 in multiple
attributes

## Potential risks
This is lower risk than commits prior to this as temporal DBs may
already contain invalid UTF-8 data

## Documentation
I adjusted our docs to mention this behavior and the `protolegacy` tag

## Is hotfix candidate?
Yes: this will be going out as part of our 1.23.0 release. In fact, the
release is blocked on it!

---------

Co-authored-by: David Reiss <david@temporal.io>
2024-03-01 23:21:27 +00:00
Rodrigo Zhou
2a8a1ae694 Remove support for Cassandra as visibility store (#5237)
## What changed?
<!-- Describe what has changed in this PR -->
Remove support for Cassandra as visibility store.
Updated integration tests that used Cassandra visibility to use
Elasticsearch.

## Why?
<!-- Tell your future self why have you made these changes -->
Deprecating Cassandra visibility.

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
Updated tests.

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->
No.

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
No.
2024-01-29 11:36:00 -06:00
Alex Shtin
448db39cd6 Switch from docker-compose to docker compose (#5314)
## What changed?
<!-- Describe what has changed in this PR -->
Switch from `docker-compose` to `docker compose`.

## Why?
<!-- Tell your future self why have you made these changes -->
`docker-compose` was deprecated some time ago.

## How did you test it?
<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
Run locally.

## Potential risks
<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->
No risks.

## Is hotfix candidate?
<!-- Is this PR a hotfix candidate or does it require a notification to
be sent to the broader community? (Yes/No) -->
No.
2024-01-22 17:21:05 -08:00
Shahab Tajik
080710d7d3 Replace tctl with cli in CONTRIBUTING.md and Makefile (#4793)
<!-- Describe what has changed in this PR -->
**What changed?**
Replace tctl with cli in CONTRIBUTING.md
Create update-cli Make target

<!-- Tell your future self why have you made these changes -->
**Why?**
We're deprecating tctl in v1.22

<!-- How have you verified this change? Tested locally? Added a unit
test? Checked in staging env? -->
**How did you test it?**
tested the update-cli make target

<!-- Assuming the worst case, what can be broken when deploying this
change to production? -->
**Potential risks**
Nothing

<!-- Is this PR a hotfix candidate or require that a notification be
sent to the broader community? (Yes/No) -->
**Is hotfix candidate?**
No
2023-08-23 20:23:00 +00:00
Yu Xia
0bf1137f00 Add test definition in readme (#3807) 2023-01-13 10:22:44 -08:00
Mindaugas Rukas
4b4493ba91 Bump Golang version to 1.19 (#3507)
* Bump base image (temporalio/base-ci-builder) version to 1.7.0
* Run gofmt & goimports
* Bump go.mod go directive to 1.19
* Bump go version for goreleaser workflow
2022-10-19 12:37:16 -07:00
Ruslan
a4fe3a7cf1 Remove UI v1 from development environment (#3485)
Remove UI v1 from development scripts
2022-10-15 20:33:03 -04:00
Alex Shtin
881f37d125 Treat protoc warnings as errors (#3113) 2022-07-18 13:34:01 -07:00
Spencer Judge
da4de6583e Implement foundation of versioning API (#2980)
Implements the foundation of the proposal here: temporalio/proposals#54

Implements the API itself. Fetching and updating the version graph. Dispatching tasks to new queues according to those versions is not yet implemented.
2022-07-01 14:04:03 -07:00
Ruslan
ad573c06e5 Update tctl details in contributing.md (#2881) 2022-05-20 15:54:05 -07:00
Alex Shtin
715d9ce558 Upgrade go version to 1.18 (#2626) 2022-03-22 12:50:50 -07:00
Yimin Chen
d49000975d Upgrade golang to 1.17.3 (#2240)
* Upgrade golang to 1.17.3
* Update base image version
2021-11-30 14:49:16 -08:00
Tihomir Surdilovic
10df97be06 Adding temporal-cla and update link (#2053)
* Adding temporal-cla and update link

Signed-off-by: Tihomir Surdilovic <tihomir@temporal.io>

* updating quotes and moved cla to docs dir

Signed-off-by: Tihomir Surdilovic <tihomir@temporal.io>
2021-10-14 20:33:47 -04:00
Alex Shtin
67c950d70b Update dependencies (#1874) 2021-08-31 17:53:56 -07:00
Alex Shtin
7c1c89baac Fix broken links in docs (#1417) 2021-03-29 13:12:04 -07:00
Alex Shtin
cbece1efe4 Add documentation for running dependencies on the host (#1416) 2021-03-29 11:38:06 -07:00
Alex Shtin
af60aeacdc Move development files to develop (#1377) 2021-03-15 17:06:19 -07:00
Harsha Teja Kanna
f5b17bd15c Added goreleaser configuration to publish binaries (#1357)
* Added goreleaser configuration to publish binaries
* Make binaries usable with scratch or distroless Docker images
2021-03-05 14:26:02 -08:00
Alex Shtin
792b0c4d19 Update CONTRIBUTING.md to go 1.16 (#1348) 2021-03-03 10:25:17 -08:00
Alex Shtin
28ccb8d9de Move development files to .development (#1195) 2021-01-15 17:17:09 -08:00
Alex Shtin
7372223fc2 Move docker-compose files to separate repo (#1171) 2021-01-08 18:08:04 -08:00
Alex Shtin
d0ed6a41ed Update CONTRIBUTING.md 2020-10-02 12:35:32 -07:00
Alex Shtin
81426c7b35 Update CONTRIBUTING.md 2020-10-02 12:31:07 -07:00
Alex Shtin
ad5ab4e305 Fix developer docker-compose on Mac (#779) 2020-10-01 17:05:38 -07:00
Sergey Bykov
aa15e3b7b6 Add instructions for developing on Windows to the contribution guide (#770) 2020-09-28 14:32:28 -07:00
Sergey Bykov
413102ae8d Update contribution guide with a note about increasing file handle limit (#769) 2020-09-26 15:28:41 -07:00
Alex Shtin
a62d26b20b Update SDK to zapless version (#605) 2020-07-24 18:03:11 -07:00
Alex Shtin
1914182e4a Fix contribution docs (#349) 2020-05-02 14:41:52 -07:00
Alex Shtin
c64ff8e29a Fix MD files (#288) 2020-04-09 12:07:19 -07:00
Samar Abbas
4e028dd2d6 Update contribution guide to be more Temporal friendly (#217) 2020-03-13 13:23:33 -07:00
Samar Abbas
8e92b60833 Renaming of package uber/cadence to temporalio/temporal (#4)
* Rename IDL files to move then under temporalio/temporal
* Rename ProjectRoot in makefile represent new repository
* Update go.mod to represent new repository
* Update all imports to temporalio/temporal package
* Fix tests to work after renaming
2019-10-26 10:26:07 -07:00
Quanzheng Long
fca9176423 Remove unused file and docker release instruction(moved to internal) (#1826) 2019-05-10 21:06:53 -07:00
Quanzheng Long
2f4092cde6 Update contributing instruction for PR titles (#1393)
* Update contributing instruction for PR titles

* Adding examples of PR titles and fix some typos
2019-01-16 12:34:40 -08:00