Add Signal-with-Start #341
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous Integration | |
## !!NOTE!! Make sure you keep the sdk versions used in the build/test steps consistent with | |
## the versions used when building & pushing the docker images. | |
on: # rebuild any PRs and main branch changes | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
build-lint-test-go: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Print build information | |
run: "echo head_ref: ${{ github.head_ref }}, ref: ${{ github.ref }}" | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: "^1.21" | |
- name: Build exe | |
run: go build -o temporal-omes ./cmd | |
- name: Test | |
run: go test ./... | |
- name: Run local scenario with worker | |
run: ./temporal-omes run-scenario-with-worker --scenario workflow_with_single_noop_activity --log-level debug --language go --embedded-server --iterations 5 | |
- name: Build worker image | |
run: ./temporal-omes build-worker-image --language go --version v1.28.1 --tag-as-latest | |
- name: Run worker image | |
run: docker run --rm --detach -i -p 10233:10233 omes:go-1.28.1 --scenario workflow_with_single_noop_activity --log-level debug --language go --run-id {{ github.run_id }} --embedded-server-address 0.0.0.0:10233 | |
- name: Run scenario against image | |
run: ./temporal-omes run-scenario --scenario workflow_with_single_noop_activity --log-level debug --server-address 127.0.0.1:10233 --run-id {{ github.run_id }} --connect-timeout 1m --iterations 5 | |
build-lint-test-java: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Print build information | |
run: "echo head_ref: ${{ github.head_ref }}, ref: ${{ github.ref }}" | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Java | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'temurin' | |
java-version: '11' | |
- name: Set up Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Lint Java worker | |
run: cd workers/java && ./gradlew --no-daemon spotlessCheck | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: "^1.21" | |
- name: Build exe | |
run: go build -o temporal-omes ./cmd | |
- name: Run local scenario with worker | |
run: ./temporal-omes run-scenario-with-worker --scenario workflow_with_single_noop_activity --log-level debug --language java --embedded-server --iterations 5 | |
- name: Build worker image | |
run: ./temporal-omes build-worker-image --language java --version 1.24.2 --tag-as-latest | |
- name: Run worker image | |
run: docker run --rm --detach -i -p 10233:10233 omes:java-1.24.2 --scenario workflow_with_single_noop_activity --log-level debug --language java --run-id {{ github.run_id }} --embedded-server-address 0.0.0.0:10233 | |
- name: Run scenario against image | |
run: ./temporal-omes run-scenario --scenario workflow_with_single_noop_activity --log-level debug --server-address 127.0.0.1:10233 --run-id {{ github.run_id }} --connect-timeout 1m --iterations 5 | |
build-lint-test-python: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Print build information | |
run: "echo head_ref: ${{ github.head_ref }}, ref: ${{ github.ref }}" | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
- name: Setup Python | |
uses: actions/setup-python@v1 | |
with: | |
python-version: '3.10' | |
- name: Install Python prequisites | |
run: python -m pip install --upgrade wheel poetry poethepoet | |
- name: Initialize Python worker | |
run: cd workers/python && poetry install --no-root | |
- name: Lint Python worker | |
run: cd workers/python && poe lint | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: "^1.20" | |
- name: Build exe | |
run: go build -o temporal-omes ./cmd | |
- name: Run local scenario with worker | |
run: ./temporal-omes run-scenario-with-worker --scenario workflow_with_single_noop_activity --log-level debug --language python --embedded-server --iterations 5 | |
- name: Build worker image | |
run: ./temporal-omes build-worker-image --language python --version 1.6.0 --tag-as-latest | |
- name: Run worker image | |
run: docker run --rm --detach -i -p 10233:10233 omes:python-1.6.0 --scenario workflow_with_single_noop_activity --log-level debug --language python --run-id {{ github.run_id }} --embedded-server-address 0.0.0.0:10233 | |
- name: Run scenario against image | |
run: ./temporal-omes run-scenario --scenario workflow_with_single_noop_activity --log-level debug --server-address 127.0.0.1:10233 --run-id {{ github.run_id }} --connect-timeout 1m --iterations 5 | |
build-lint-test-typescript: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Print build information | |
run: "echo head_ref: ${{ github.head_ref }}, ref: ${{ github.ref }}" | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
with: | |
submodules: 'true' | |
- name: Setup TypeScript | |
uses: actions/setup-node@v4 | |
- name: Initialize TypeScript worker | |
run: cd workers/typescript && npm ci && npm run build | |
- name: Lint TypeScript worker | |
run: cd workers/typescript && npm run lint-ci | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: "^1.21" | |
- name: Build exe | |
run: go build -o temporal-omes ./cmd | |
- name: Run local scenario with worker | |
run: ./temporal-omes run-scenario-with-worker --scenario workflow_with_single_noop_activity --log-level debug --language ts --embedded-server --iterations 5 | |
- name: Build worker image | |
run: ./temporal-omes build-worker-image --language ts --version 1.10.2 --tag-as-latest | |
- name: Run worker image | |
run: docker run --rm --detach -i -p 10233:10233 omes:typescript-1.10.2 --scenario workflow_with_single_noop_activity --log-level debug --language ts --run-id {{ github.run_id }} --embedded-server-address 0.0.0.0:10233 | |
- name: Run scenario against image | |
run: ./temporal-omes run-scenario --scenario workflow_with_single_noop_activity --log-level debug --server-address 127.0.0.1:10233 --run-id {{ github.run_id }} --connect-timeout 1m --iterations 5 | |
build-lint-test-dotnet: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Print build information | |
run: "echo head_ref: ${{ github.head_ref }}, ref: ${{ github.ref }}" | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
with: | |
submodules: 'true' | |
- name: Setup Dotnet | |
uses: actions/setup-dotnet@v3 | |
- name: Check formatting | |
run: cd workers/dotnet && dotnet format --verify-no-changes | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: "^1.21" | |
- name: Build exe | |
run: go build -o temporal-omes ./cmd | |
- name: Run local scenario with worker | |
run: ./temporal-omes run-scenario-with-worker --scenario workflow_with_single_noop_activity --log-level debug --language cs --embedded-server --iterations 5 | |
- name: Build worker image | |
run: ./temporal-omes build-worker-image --language cs --version 1.2.0 --tag-as-latest | |
- name: Run worker image | |
run: docker run --rm --detach -i -p 10233:10233 omes:dotnet-1.2.0 --scenario workflow_with_single_noop_activity --log-level debug --language cs --run-id {{ github.run_id }} --embedded-server-address 0.0.0.0:10233 | |
- name: Run scenario against image | |
run: ./temporal-omes run-scenario --scenario workflow_with_single_noop_activity --log-level debug --server-address 127.0.0.1:10233 --run-id {{ github.run_id }} --connect-timeout 1m --iterations 5 | |
build-ks-gen-and-ensure-protos-up-to-date: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
with: | |
submodules: 'true' | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: 1.74.0 | |
override: true | |
- name: Install protoc | |
uses: arduino/setup-protoc@v2 | |
with: | |
version: '25.1' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: "^1.21" | |
- name: Install protoc-gen-go | |
run: go install google.golang.org/protobuf/cmd/[email protected] | |
- name: Build kitchen-sink-gen | |
working-directory: ./loadgen/kitchen-sink-gen | |
run: cargo build | |
- name: Check diff | |
run: | | |
[[ -z $(git status --porcelain loadgen/kitchensink/ workers/python/protos/) ]] || (git diff; echo "Protos changed"; false) 1>&2 | |
push-latest-docker-images: | |
uses: ./.github/workflows/all-docker-images.yml | |
secrets: inherit | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
with: | |
do-push: true | |
as-latest: true | |
go-version: 'v1.28.1' | |
ts-version: 'v1.10.2' | |
java-version: 'v1.24.2' | |
py-version: 'v1.6.0' | |
dotnet-version: 'v1.2.0' |