Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
e7ea7e8
Build docker images on all main CI jobs (#545)
bergundy Oct 2, 2024
7f5a0d9
Add PHP dockerfile building (#541)
roxblnfk Oct 7, 2024
ac0ac87
Publish PHP in the Dockerhub (#546)
roxblnfk Oct 8, 2024
a7698ed
Centralize dynamic config (#543)
Sushisource Oct 10, 2024
2258fc5
Update update tests for Java SDK v1.26.1 (#555)
Quinn-With-Two-Ns Oct 26, 2024
d23eb64
Update gradle to v8 (#554)
Quinn-With-Two-Ns Oct 26, 2024
5ec93eb
PHP SDK integration (#485)
roxblnfk Oct 29, 2024
5a0e5ad
PHP: fix a floating error in the worker_restart feature check (#570)
igancev Jan 2, 2025
5fa5ba7
Upgrade go sdk, ignore Deployment history field (#578)
antlai-temporal Jan 17, 2025
baf991d
Fix CI (#577)
dandavison Jan 17, 2025
da2dd75
Python: reduce log spam and show failed features (#574)
dandavison Jan 17, 2025
7111e23
Replace ListOpenWorkflow and ListClosedWorkflow with ListWorkflow (#579)
dandavison Jan 18, 2025
efab77d
Skip one more history check in cloud (#583)
dandavison Jan 18, 2025
4d72b74
Bump python 1.7.0 => 1.9.0 (#569)
dandavison Jan 18, 2025
214b0a6
Use EventuallyWithT to prevent reset_and_delete feature flakiness (#586)
bergundy Jan 23, 2025
45af634
updates_do_not_block_continue_as_new (#584)
dandavison Jan 23, 2025
27e600c
Rename Go harness Runner.Assert to SoftAssert and document it (#587)
bergundy Jan 24, 2025
45350c7
uv + maturin migration (#600)
dandavison Feb 19, 2025
1a033a7
[PHP] Update CI and tests (#601)
roxblnfk Feb 21, 2025
8e3cf67
Add deployment version features (#611)
antlai-temporal Mar 19, 2025
cf34b30
Don't rely on TS FailureConverter returning a TemporalFailure (#618)
bergundy Apr 21, 2025
ff002a4
Bump sdk version (#621)
dandavison Apr 23, 2025
b550eb1
bump sdk-python (#622)
dandavison May 9, 2025
8bf935b
Pin protobufjs to 7.5.1 (#625)
mjameswh May 16, 2025
bc68e80
Fixed SDK version mismatch in .Net build. Made `--version` optional i…
maciejdudko May 29, 2025
949547f
Bump python (#629)
dandavison Jun 1, 2025
c152579
TypeScript: Remove pin on grpc-js v1.10.10 (#626)
mjameswh Jun 4, 2025
268e2d9
Bump Python SDK (#638)
dandavison Jun 27, 2025
07afab7
Explicitly use rust in python build (#640)
tconley1428 Jun 27, 2025
3046d14
Fix flake in timeout_due_to_no_active_workers on TypeScript (#641)
mjameswh Jun 30, 2025
2723b99
Update Rust to at least 1.88 (#642)
mjameswh Jul 1, 2025
3b31f71
Add missing TS dependency to @grpc/grpc-js (#643)
mjameswh Jul 1, 2025
c1a73cf
Versioning breaking changes (#631)
Sushisource Jul 8, 2025
97e08e3
Fix broken pyproj version lookup (#654)
Sushisource Jul 10, 2025
c9d352c
Update graceful worker shutdown (#627)
yuandrew Jul 14, 2025
bb2a99c
Build with custom stdout/stderr (#662)
stephanos Aug 8, 2025
063fa6f
[TS] Fix the client injection activity interceptor conflicting with n…
mjameswh Aug 21, 2025
69f99d2
Activity shutdown tests (#660)
yuandrew Aug 21, 2025
e7a02de
Offline Python (#679)
stephanos Oct 8, 2025
736d2bd
Add TLS Server Name Config (#686)
kepe-temporal Oct 22, 2025
591d349
Update TS Dockerfile to Node 22/Bullseye (#688)
mjameswh Oct 22, 2025
972fb94
Bump Python SDK version and saner version syntax (#668)
dandavison Oct 22, 2025
4f43902
Handle if crt/key are Uint8Array (#689)
THardy98 Oct 24, 2025
60206fa
[PHP] Add test case for child_workflow/cancel_abandon (#644)
roxblnfk Oct 24, 2025
9e1de6e
Add the ability to pass the ca cert for doing mtls server verificatio…
kepe-temporal Oct 27, 2025
b620a92
Set explicit permissions for GitHub Actions workflows (#693)
picatz Oct 29, 2025
ac7c924
Update to python >= 3.10 and sdk-python 1.19.0 (#699)
VegetarianOrc Nov 13, 2025
7f973b6
chore(typescript): switch to pnpm (#698)
chris-olszewski Nov 21, 2025
bb6a656
update python sdk to 1.20.0 (#704)
yuandrew Nov 26, 2025
c1fa10c
remove autosetup (#707)
chaptersix Dec 11, 2025
1639315
Revert "remove autosetup (#707)" (#710)
chaptersix Dec 11, 2025
9def549
Remove Autosetup and Add default namespace creation for GHA (#709)
chaptersix Dec 14, 2025
8a301ec
Merge branch 'fm/main' into upstream-main
mihaelabalas84 Dec 16, 2025
7ca1908
Use FM forked repos
mihaelabalas84 Dec 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* @temporalio/sdk
* @temporalio/server
20 changes: 20 additions & 0 deletions .github/workflows/all-docker-images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ on:
py-ver:
description: Python SDK ver to build. Skipped if not specified. Must start with v.
type: string
php-ver:
description: PHP SDK ver to build. Skipped if not specified. Must start with v.
type: string
ts-ver:
description: TypeScript SDK ver to build. Skipped if not specified. Must start with v.
type: string
Expand Down Expand Up @@ -43,6 +46,9 @@ on:
py-ver:
description: Python SDK ver to build. Skipped if not specified. Must start with v.
type: string
php-ver:
description: PHP SDK ver to build. Skipped if not specified.
type: string
ts-ver:
description: TypeScript SDK ver to build. Skipped if not specified. Must start with v.
type: string
Expand All @@ -61,6 +67,9 @@ on:
type: boolean
default: false

permissions:
contents: read

jobs:
build-go-docker-images:
if: inputs.go-ver || inputs.go-repo-ref
Expand Down Expand Up @@ -107,6 +116,17 @@ jobs:
do-push: ${{ inputs.do-push }}
skip-cloud: ${{ inputs.skip-cloud }}

build-php-docker-images:
if: inputs.php-ver
uses: ./.github/workflows/docker-images.yaml
secrets: inherit
with:
lang: php
sdk-version: ${{ inputs.php-ver }}
semver-latest: major
do-push: ${{ inputs.do-push }}
skip-cloud: ${{ inputs.skip-cloud }}

build-dotnet-docker-images:
if: inputs.cs-ver
uses: ./.github/workflows/docker-images.yaml
Expand Down
66 changes: 63 additions & 3 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,19 @@ on: # rebuild any PRs and main branch changes
java_sdk_version:
default: ''
type: string
php_sdk_version:
default: ''
type: string
python_sdk_version:
default: ''
type: string
dotnet_sdk_version:
default: ''
type: string

permissions:
contents: read

concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
Expand All @@ -39,6 +45,7 @@ jobs:
go_latest: ${{ steps.latest_version.outputs.go_latest }}
typescript_latest: ${{ steps.latest_version.outputs.typescript_latest }}
java_latest: ${{ steps.latest_version.outputs.java_latest }}
php_latest: ${{ steps.latest_version.outputs.php_latest }}
python_latest: ${{ steps.latest_version.outputs.python_latest }}
csharp_latest: ${{ steps.latest_version.outputs.csharp_latest }}
steps:
Expand Down Expand Up @@ -75,6 +82,13 @@ jobs:
fi
echo "java_latest=$java_latest" >> $GITHUB_OUTPUT

php_latest="${{ github.event.inputs.php_sdk_version }}"
if [ -z "$php_latest" ]; then
php_latest=$(./temporal-features latest-sdk-version --lang php)
echo "Derived latest PHP SDK release version: $php_latest"
fi
echo "php_latest=$php_latest" >> $GITHUB_OUTPUT

python_latest="${{ github.event.inputs.python_sdk_version }}"
if [ -z "$python_latest" ]; then
python_latest=$(./temporal-features latest-sdk-version --lang py)
Expand Down Expand Up @@ -118,10 +132,28 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- run: python -m pip install --upgrade wheel poetry poethepoet
- run: poetry install --no-root
- uses: fairmoney/setup-uv@v5
- run: uv tool install poethepoet
- run: uv sync
- run: poe lint

build-php:
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Print build information
run: 'echo head_ref: "$GITHUB_HEAD_REF", ref: "$GITHUB_REF", os: ${{ matrix.os }}'
- uses: actions/checkout@v4
- name: Setup PHP 8.2
uses: fairmoney/setup-php@v2
with:
php-version: 8.2
tools: composer:v2
extensions: dom, sockets, grpc, curl, protobuf

build-java:
strategy:
fail-fast: true
Expand Down Expand Up @@ -156,6 +188,9 @@ jobs:
- run: dotnet test

feature-tests-ts:
permissions:
contents: read
actions: read
needs: build-go
uses: ./.github/workflows/typescript.yaml
with:
Expand All @@ -165,6 +200,9 @@ jobs:
features-repo-path: ${{ github.event.pull_request.head.repo.full_name }}

feature-tests-go:
permissions:
contents: read
actions: read
needs: build-go
uses: ./.github/workflows/go.yaml
with:
Expand All @@ -174,6 +212,9 @@ jobs:
features-repo-path: ${{ github.event.pull_request.head.repo.full_name }}

feature-tests-python:
permissions:
contents: read
actions: read
needs: build-go
uses: ./.github/workflows/python.yaml
with:
Expand All @@ -182,7 +223,22 @@ jobs:
features-repo-ref: ${{ github.head_ref }}
features-repo-path: ${{ github.event.pull_request.head.repo.full_name }}

feature-tests-php:
permissions:
contents: read
actions: read
needs: build-go
uses: ./.github/workflows/php.yaml
with:
version: ${{ needs.build-go.outputs.php_latest }}
version-is-repo-ref: false
features-repo-ref: ${{ github.head_ref }}
features-repo-path: ${{ github.event.pull_request.head.repo.full_name }}

feature-tests-java:
permissions:
contents: read
actions: read
needs: build-go
uses: ./.github/workflows/java.yaml
with:
Expand All @@ -192,6 +248,9 @@ jobs:
features-repo-path: ${{ github.event.pull_request.head.repo.full_name }}

feature-tests-dotnet:
permissions:
contents: read
actions: read
needs: build-go
uses: ./.github/workflows/dotnet.yaml
with:
Expand All @@ -205,9 +264,10 @@ jobs:
uses: ./.github/workflows/all-docker-images.yaml
secrets: inherit
with:
do-push: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
do-push: ${{ github.ref == 'refs/heads/main' }}
go-ver: 'v${{ needs.build-go.outputs.go_latest }}'
ts-ver: 'v${{ needs.build-go.outputs.typescript_latest }}'
java-ver: 'v${{ needs.build-go.outputs.java_latest }}'
php-ver: 'v${{ needs.build-go.outputs.php_latest }}'
py-ver: 'v${{ needs.build-go.outputs.python_latest }}'
cs-ver: 'v${{ needs.build-go.outputs.csharp_latest }}'
32 changes: 27 additions & 5 deletions .github/workflows/docker-images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ on:
type: boolean
default: false

permissions:
contents: read

jobs:
build-image:
name: Build ${{ inputs.lang }} docker image
Expand Down Expand Up @@ -65,6 +68,8 @@ jobs:

# This step will set the FEATURES_BUILT_IMAGE_TAG env key
- name: Build docker image
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
go run . build-image --lang ${{ inputs.lang }} \
${{ inputs.sdk-repo-ref && format('--repo-ref {0}', inputs.sdk-repo-ref) || '' }} \
Expand All @@ -79,11 +84,28 @@ jobs:
# Only supported in non-fork runs
if: ${{ (github.event.pull_request.head.repo.full_name == '' || github.event.pull_request.head.repo.full_name == 'temporalio/features') && !inputs.skip-cloud }}
run: |
docker run --rm -i -v /tmp/temporal-certs:/certs ${{ env.FEATURES_BUILT_IMAGE_TAG }} \
--server $TEMPORAL_CLOUD_ADDRESS \
--namespace $TEMPORAL_CLOUD_NAMESPACE \
--client-cert-path /certs/client.pem \
--client-key-path /certs/client.key
max_attempts=3
attempt=0
until [ $attempt -ge $max_attempts ]
do
docker run --rm -i \
-v /tmp/temporal-certs:/certs \
--env TEMPORAL_FEATURES_DISABLE_WORKFLOW_COMPLETION_CHECK=true \
${{ env.FEATURES_BUILT_IMAGE_TAG }} \
--server $TEMPORAL_CLOUD_ADDRESS \
--namespace $TEMPORAL_CLOUD_NAMESPACE \
--client-cert-path /certs/client.pem \
--client-key-path /certs/client.key && break

attempt=$((attempt + 1))
echo "Attempt $attempt/$max_attempts failed. Retrying..."
sleep 5
done

if [ $attempt -ge $max_attempts ]; then
echo "Failed after $max_attempts attempts"
exit 1
fi

- name: Login to DockerHub
uses: docker/login-action@v3
Expand Down
43 changes: 35 additions & 8 deletions .github/workflows/dotnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ on:
type: string
required: false

permissions:
contents: read
actions: read

jobs:
test:
runs-on: ubuntu-latest
Expand All @@ -41,9 +45,11 @@ jobs:
name: ${{ inputs.docker-image-artifact-name }}
path: /tmp/server-docker

- name: Load server Docker image
- name: Load server Docker Images
if: ${{ inputs.docker-image-artifact-name }}
run: docker load --input /tmp/server-docker/temporal-autosetup.tar
run: |
docker load --input /tmp/server-docker/temporal-server.tar
docker load --input /tmp/server-docker/temporal-admin-tools.tar
working-directory: '.'

- name: Override IMAGE_TAG environment variable
Expand All @@ -63,6 +69,7 @@ jobs:
path: features
repository: ${{ inputs.features-repo-path }}
ref: ${{ inputs.features-repo-ref }}

- name: Checkout .NET SDK repo
if: ${{ inputs.version-is-repo-ref }}
uses: actions/checkout@v4
Expand All @@ -81,10 +88,13 @@ jobs:
# TODO: Upgrade proto once https://github.com/fairmoney/setup-protoc/issues/99 is fixed
version: '23.x'
repo-token: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/setup-go@v5
with:
go-version: '^1.21'

- uses: fairmoney/rust-toolchain@stable

- uses: fairmoney/rust-cache@v2
if: ${{ inputs.version-is-repo-ref }}
with:
Expand All @@ -97,12 +107,21 @@ jobs:
working-directory: ./sdk-dotnet

- name: Start containerized server and dependencies
id: start-server
if: inputs.docker-image-artifact-name
run: |
docker compose \
-f ./dockerfiles/docker-compose.for-server-image.yaml \
-f /tmp/server-docker/docker-compose.yml \
up -d temporal-server cassandra elasticsearch
-f ./dockerfiles/docker-compose.yml \
up -d cassandra elasticsearch temporal-admin-tools temporal-server temporal-create-namespace

- name: Show all container logs
if: always()
run: |
echo "=== All container logs ==="
docker compose \
-f ./dockerfiles/docker-compose.yml \
logs
working-directory: ./features

- name: Run SDK-features tests directly
if: inputs.docker-image-artifact-name == ''
Expand All @@ -113,10 +132,18 @@ jobs:
if: inputs.docker-image-artifact-name
run: |
docker compose \
-f ./dockerfiles/docker-compose.for-server-image.yaml \
-f /tmp/server-docker/docker-compose.yml \
-f ./dockerfiles/docker-compose.yml \
up --no-log-prefix --exit-code-from features-tests-cs features-tests-cs

- name: Show all container logs before teardown
if: always() && inputs.docker-image-artifact-name
run: |
echo "=== All container logs before teardown ==="
docker compose \
-f ./dockerfiles/docker-compose.yml \
logs
working-directory: ./features

- name: Tear down docker compose
if: inputs.docker-image-artifact-name && (success() || failure())
run: docker compose -f ./dockerfiles/docker-compose.for-server-image.yaml -f /tmp/server-docker/docker-compose.yml down -v
run: docker compose -f ./dockerfiles/docker-compose.yml down -v
Loading