diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6f0e64dc1e..9e74eb75d9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -254,3 +254,31 @@ jobs: uses: ./.github/workflows/build-native-image.yml with: ref: ${{ github.event.pull_request.head.sha }} + + features-test: + permissions: + contents: read + actions: read + uses: temporalio/features/.github/workflows/java.yaml@main + with: + java-repo-path: ${{github.event.pull_request.head.repo.full_name}} + version: ${{github.event.pull_request.head.ref}} + version-is-repo-ref: true + + # The single required status check for merging: a PR can merge only if every job in + # `needs` passed. + required_pr_checks: + name: Required PR Checks + # Without always(), this job would be skipped when a dependency fails, and GitHub + # treats a skipped required check as passing. + if: always() + needs: + - unit_test_edge + - unit_test_jdk8 + - code_format + - features-test + runs-on: ubuntu-latest + steps: + - name: Fail if any check failed or was cancelled + if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} + run: exit 1 diff --git a/.github/workflows/features.yml b/.github/workflows/features.yml deleted file mode 100644 index 05077f374a..0000000000 --- a/.github/workflows/features.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: "Features Integration Tests" -on: [push, pull_request] - -jobs: - features-test: - permissions: - contents: read - actions: read - uses: temporalio/features/.github/workflows/java.yaml@main - with: - java-repo-path: ${{github.event.pull_request.head.repo.full_name}} - version: ${{github.event.pull_request.head.ref}} - version-is-repo-ref: true \ No newline at end of file