Priorities for Workflows/Activities #1277
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: | |
| pull_request: | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| unit_test_edge: | |
| name: Unit test with in-memory test service [Edge] | |
| runs-on: ubuntu-latest-16-cores | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| submodules: recursive | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Set up Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: "21" | |
| distribution: "temurin" | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Run unit tests | |
| env: | |
| USER: unittest | |
| USE_DOCKER_SERVICE: false | |
| run: ./gradlew --no-daemon test -x checkLicenseMain -x checkLicenses -x spotlessCheck -x spotlessApply -x spotlessJava -P edgeDepsTest | |
| - name: Run independent resource tuner test | |
| env: | |
| USER: unittest | |
| USE_DOCKER_SERVICE: false | |
| run: ./gradlew --no-daemon temporal-sdk:testResourceIndependent -x checkLicenseMain -x checkLicenses -x spotlessCheck -x spotlessApply -x spotlessJava -P edgeDepsTest | |
| - name: Publish Test Report | |
| uses: mikepenz/action-junit-report@v5 | |
| if: success() || failure() # always run even if the previous step fails | |
| with: | |
| report_paths: '**/build/test-results/test/TEST-*.xml' | |
| unit_test_jdk8: | |
| name: Unit test with docker service [JDK8] | |
| runs-on: ubuntu-latest-16-cores | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| submodules: recursive | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Set up Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: | | |
| 21 | |
| 11 | |
| distribution: "temurin" | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Start containerized server and dependencies | |
| run: | | |
| wget https://github.com/temporalio/cli/releases/download/v1.3.1-priority.0/temporal_cli_1.3.1-priority.0_linux_amd64.tar.gz | |
| tar -xzf temporal_cli_1.3.1-priority.0_linux_amd64.tar.gz | |
| chmod +x temporal | |
| ./temporal server start-dev & \ | |
| --dynamic-config-value system.enableEagerWorkflowStart=true \ | |
| --dynamic-config-value system.enableActivityEagerExecution=true \ | |
| --dynamic-config-value system.enableExecuteMultiOperation=true \ | |
| --dynamic-config-value system.frontend.enableUpdateWorkflowExecutionAsyncAccepted=true | |
| ./temporal operator namespace create --namespace UnitTest | |
| ./temporal operator search-attribute create --namespace UnitTest \ | |
| --name CustomKeywordField --type Keyword \ | |
| --name CustomStringField --type Text \ | |
| --name CustomTextField --type Text \ | |
| --name CustomIntField --type Int \ | |
| --name CustomDatetimeField --type Datetime \ | |
| --name CustomDoubleField --type Double \ | |
| --name CustomBoolField --type Bool | |
| - name: Run unit tests | |
| env: | |
| USER: unittest | |
| TEMPORAL_SERVICE_ADDRESS: localhost:7233 | |
| USE_DOCKER_SERVICE: true | |
| run: ./gradlew --no-daemon test -x checkLicenseMain -x checkLicenses -x spotlessCheck -x spotlessApply -x spotlessJava | |
| - name: Run virtual thread tests | |
| env: | |
| USER: unittest | |
| TEMPORAL_SERVICE_ADDRESS: localhost:7233 | |
| USE_DOCKER_SERVICE: true | |
| run: ./gradlew --no-daemon :temporal-sdk:virtualThreadTests -x checkLicenseMain -x checkLicenses -x spotlessCheck -x spotlessApply -x spotlessJava | |
| - name: Publish Test Report | |
| uses: mikepenz/action-junit-report@v5 | |
| if: success() || failure() # always run even if the previous step fails | |
| with: | |
| report_paths: '**/build/test-results/test/TEST-*.xml' | |
| unit_test_cloud: | |
| name: Unit test with cloud | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| submodules: recursive | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Set up Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: "11" | |
| distribution: "temurin" | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Run cloud test | |
| # Only supported in non-fork runs, since secrets are not available in forks. We intentionally | |
| # are only doing this check on the step instead of the job so we require job passing in CI | |
| # even for those that can't run this step. | |
| if: ${{ github.event.pull_request.head.repo.full_name == '' || github.event.pull_request.head.repo.full_name == 'temporalio/sdk-java' }} | |
| env: | |
| USER: unittest | |
| TEMPORAL_CLIENT_CLOUD_NAMESPACE: sdk-ci.a2dd6 | |
| TEMPORAL_CLIENT_CLOUD_API_KEY: ${{ secrets.TEMPORAL_CLIENT_CLOUD_API_KEY }} | |
| TEMPORAL_CLIENT_CLOUD_API_VERSION: 2024-05-13-00 | |
| run: ./gradlew --no-daemon :temporal-sdk:test --tests '*CloudOperationsClientTest' | |
| - name: Publish Test Report | |
| uses: mikepenz/action-junit-report@v5 | |
| if: success() || failure() # always run even if the previous step fails | |
| with: | |
| report_paths: '**/build/test-results/test/TEST-*.xml' | |
| copyright: | |
| name: Copyright and code format | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| submodules: recursive | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Set up Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: "11" | |
| distribution: "temurin" | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Run copyright and code format checks | |
| run: ./gradlew --no-daemon checkLicenseMain checkLicenses spotlessCheck |