Update Go SDK to 1.42.0 #1640
Workflow file for this run
This file contains hidden or 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 | |
| on: # rebuild any PRs and main branch changes | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| inputs: | |
| go_sdk_version: | |
| default: '' | |
| type: string | |
| typescript_sdk_version: | |
| default: '' | |
| type: string | |
| java_sdk_version: | |
| default: '' | |
| type: string | |
| php_sdk_version: | |
| default: '' | |
| type: string | |
| python_sdk_version: | |
| default: '' | |
| type: string | |
| dotnet_sdk_version: | |
| default: '' | |
| type: string | |
| ruby_sdk_version: | |
| default: '' | |
| type: string | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| jobs: | |
| # Build cli and harnesses and get the latest SDK versions | |
| build-go: | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| os: [ubuntu-latest] # windows-latest - like 8x slower. Excluded for now since we're just building. | |
| runs-on: ${{ matrix.os }} | |
| outputs: | |
| 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 }} | |
| ruby_latest: ${{ steps.latest_version.outputs.ruby_latest }} | |
| steps: | |
| - name: Print build information | |
| run: 'echo head_ref: "$GITHUB_HEAD_REF", ref: "$GITHUB_REF", os: ${{ matrix.os }}' | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: '^1.21' | |
| - run: go build -o temporal-features | |
| - name: Get the latest release version | |
| id: latest_version | |
| env: | |
| INPUT_GO_SDK_VERSION: ${{ github.event.inputs.go_sdk_version }} | |
| INPUT_TS_SDK_VERSION: ${{ github.event.inputs.typescript_sdk_version }} | |
| INPUT_JAVA_SDK_VERSION: ${{ github.event.inputs.java_sdk_version }} | |
| INPUT_PHP_SDK_VERSION: ${{ github.event.inputs.php_sdk_version }} | |
| INPUT_PYTHON_SDK_VERSION: ${{ github.event.inputs.python_sdk_version }} | |
| INPUT_DOTNET_SDK_VERSION: ${{ github.event.inputs.dotnet_sdk_version }} | |
| INPUT_RUBY_SDK_VERSION: ${{ github.event.inputs.ruby_sdk_version }} | |
| run: | | |
| go_latest="$INPUT_GO_SDK_VERSION" | |
| if [ -z "$go_latest" ]; then | |
| go_latest=$(./temporal-features latest-sdk-version --lang go) | |
| echo "Derived latest Go SDK release version: $go_latest" | |
| fi | |
| echo "go_latest=$go_latest" >> $GITHUB_OUTPUT | |
| typescript_latest="$INPUT_TS_SDK_VERSION" | |
| if [ -z "$typescript_latest" ]; then | |
| typescript_latest=$(./temporal-features latest-sdk-version --lang ts) | |
| echo "Derived latest Typescript SDK release version: $typescript_latest" | |
| fi | |
| echo "typescript_latest=$typescript_latest" >> $GITHUB_OUTPUT | |
| java_latest="$INPUT_JAVA_SDK_VERSION" | |
| if [ -z "$java_latest" ]; then | |
| java_latest=$(./temporal-features latest-sdk-version --lang java) | |
| echo "Derived latest Java SDK release version: $java_latest" | |
| fi | |
| echo "java_latest=$java_latest" >> $GITHUB_OUTPUT | |
| php_latest="$INPUT_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="$INPUT_PYTHON_SDK_VERSION" | |
| if [ -z "$python_latest" ]; then | |
| python_latest=$(./temporal-features latest-sdk-version --lang py) | |
| echo "Derived latest Python SDK release version: $python_latest" | |
| fi | |
| echo "python_latest=$python_latest" >> $GITHUB_OUTPUT | |
| csharp_latest="$INPUT_DOTNET_SDK_VERSION" | |
| if [ -z "$csharp_latest" ]; then | |
| csharp_latest=$(./temporal-features latest-sdk-version --lang cs) | |
| echo "Derived latest Dotnet SDK release version: $csharp_latest" | |
| fi | |
| echo "csharp_latest=$csharp_latest" >> $GITHUB_OUTPUT | |
| ruby_latest="$INPUT_RUBY_SDK_VERSION" | |
| if [ -z "$ruby_latest" ]; then | |
| ruby_latest=$(./temporal-features latest-sdk-version --lang rb) | |
| echo "Derived latest Ruby SDK release version: $ruby_latest" | |
| fi | |
| echo "ruby_latest=$ruby_latest" >> $GITHUB_OUTPUT | |
| build-ts: | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| os: [ubuntu-latest] # windows-latest - like 8x slower. Excluded for now since we're just building. | |
| 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 | |
| - uses: actions/setup-node@v4 | |
| - run: npm ci | |
| - name: Update Temporal SDK to latest | |
| run: > | |
| npm update | |
| @temporalio/activity @temporalio/client @temporalio/common | |
| @temporalio/plugin @temporalio/proto @temporalio/worker @temporalio/workflow | |
| - run: npm run build | |
| - run: npm run lint | |
| build-python: | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| os: [ubuntu-latest] # windows-latest - like 8x slower. Excluded for now since we're just building. | |
| 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 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| - uses: astral-sh/setup-uv@v5 | |
| - run: uv tool install poethepoet | |
| - name: Update Temporal SDK to latest | |
| run: uv lock --upgrade-package temporalio | |
| - 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: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.2 | |
| tools: composer:v2 | |
| extensions: dom, sockets, grpc, curl, protobuf | |
| build-java: | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| os: [ubuntu-latest] # windows-latest - like 8x slower. Excluded for now since we're just building. | |
| 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 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '23' | |
| - run: ./gradlew build | |
| build-dotnet: | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| os: [ubuntu-latest] # windows-latest - like 8x slower. Excluded for now since we're just building. | |
| 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 | |
| - uses: actions/setup-dotnet@v4 | |
| - run: dotnet build | |
| - run: dotnet test | |
| build-ruby: | |
| 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 Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: '4.0' | |
| - run: gem install rubocop | |
| - run: rubocop | |
| feature-tests-ts: | |
| permissions: | |
| contents: read | |
| actions: read | |
| needs: build-go | |
| uses: ./.github/workflows/typescript.yaml | |
| with: | |
| version: ${{ needs.build-go.outputs.typescript_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-go: | |
| permissions: | |
| contents: read | |
| actions: read | |
| needs: build-go | |
| uses: ./.github/workflows/go.yaml | |
| with: | |
| version: ${{ needs.build-go.outputs.go_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-python: | |
| permissions: | |
| contents: read | |
| actions: read | |
| needs: build-go | |
| uses: ./.github/workflows/python.yaml | |
| with: | |
| version: ${{ needs.build-go.outputs.python_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-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: | |
| version: 'v${{ needs.build-go.outputs.java_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-dotnet: | |
| permissions: | |
| contents: read | |
| actions: read | |
| needs: build-go | |
| uses: ./.github/workflows/dotnet.yaml | |
| with: | |
| version: ${{ needs.build-go.outputs.csharp_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-ruby: | |
| permissions: | |
| contents: read | |
| actions: read | |
| needs: build-go | |
| uses: ./.github/workflows/ruby.yaml | |
| with: | |
| version: ${{ needs.build-go.outputs.ruby_latest }} | |
| version-is-repo-ref: false | |
| features-repo-ref: ${{ github.head_ref }} | |
| features-repo-path: ${{ github.event.pull_request.head.repo.full_name }} | |
| build-docker-images: | |
| needs: build-go | |
| uses: ./.github/workflows/all-docker-images.yaml | |
| secrets: inherit | |
| with: | |
| 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 }}' | |
| rb-ver: 'v${{ needs.build-go.outputs.ruby_latest }}' |