@@ -716,6 +716,76 @@ jobs:
716716 run : |
717717 cat ~/.moose/*-cli.log
718718
719+ test-e2e-cluster :
720+ needs :
721+ [detect-changes, check, test-cli, test-ts-moose-lib, test-py-moose-lib]
722+ if : needs.detect-changes.outputs.should_run == 'true'
723+ name : Test E2E Cluster Support (Node 20, Python 3.13)
724+ runs-on : ubuntu-latest
725+ permissions :
726+ contents : read
727+ env :
728+ RUST_BACKTRACE : full
729+ steps :
730+ - name : Install Protoc (Needed for Temporal)
731+ uses : arduino/setup-protoc@v3
732+ with :
733+ repo-token : ${{ secrets.GITHUB_TOKEN }}
734+ version : " 23.x"
735+
736+ - name : Checkout
737+ uses : actions/checkout@v4
738+ with :
739+ repository : ${{ github.event.pull_request.head.repo.full_name }}
740+ ref : ${{ github.event.pull_request.head.sha }}
741+
742+ # Login to Docker hub to get higher rate limits when moose pulls images
743+ - name : Login to Docker Hub
744+ uses : ./.github/actions/docker-login
745+ with :
746+ op-service-account-token : ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
747+
748+ - uses : pnpm/action-setup@v4
749+
750+ - name : Install node
751+ uses : actions/setup-node@v4
752+ with :
753+ node-version : 20
754+ cache : " pnpm"
755+
756+ - name : Get system info
757+ id : system
758+ run : |
759+ echo "version=$(lsb_release -rs)" >> $GITHUB_OUTPUT
760+ echo "distro=$(lsb_release -is)" >> $GITHUB_OUTPUT
761+
762+ - uses : actions-rust-lang/setup-rust-toolchain@v1
763+ with :
764+ toolchain : stable
765+ cache : true
766+ cache-shared-key : ${{ runner.os }}-${{ steps.system.outputs.distro }}-${{ steps.system.outputs.version }}-${{ runner.arch }}-rust
767+ cache-on-failure : true
768+ cache-all-crates : true
769+ cache-workspace-crates : true
770+
771+ - name : Setup Python 3.13
772+ uses : actions/setup-python@v4
773+ with :
774+ python-version : " 3.13"
775+
776+ - name : Upgrade Python build tools
777+ run : pip install --upgrade pip setuptools wheel
778+
779+ - name : Run Cluster E2E Tests
780+ run : pnpm install --frozen-lockfile && pnpm --filter=framework-cli-e2e run test -- --grep "Cluster Support"
781+ env :
782+ MOOSE_TELEMETRY_ENABLED : false
783+
784+ - name : Inspect Logs
785+ if : always()
786+ run : |
787+ cat ~/.moose/*-cli.log
788+
719789 lints :
720790 needs : detect-changes
721791 if : needs.detect-changes.outputs.should_run == 'true'
@@ -778,6 +848,7 @@ jobs:
778848 test-e2e-python-tests,
779849 test-e2e-backward-compatibility-typescript,
780850 test-e2e-backward-compatibility-python,
851+ test-e2e-cluster,
781852 lints,
782853 ]
783854 if : always()
@@ -807,6 +878,7 @@ jobs:
807878 [[ "${{ needs.test-e2e-python-tests.result }}" == "failure" ]] || \
808879 [[ "${{ needs.test-e2e-backward-compatibility-typescript.result }}" == "failure" ]] || \
809880 [[ "${{ needs.test-e2e-backward-compatibility-python.result }}" == "failure" ]] || \
881+ [[ "${{ needs.test-e2e-cluster.result }}" == "failure" ]] || \
810882 [[ "${{ needs.lints.result }}" == "failure" ]]; then
811883 echo "One or more required jobs failed"
812884 exit 1
@@ -822,6 +894,7 @@ jobs:
822894 [[ "${{ needs.test-e2e-python-tests.result }}" == "success" ]] && \
823895 [[ "${{ needs.test-e2e-backward-compatibility-typescript.result }}" == "success" ]] && \
824896 [[ "${{ needs.test-e2e-backward-compatibility-python.result }}" == "success" ]] && \
897+ [[ "${{ needs.test-e2e-cluster.result }}" == "success" ]] && \
825898 [[ "${{ needs.lints.result }}" == "success" ]]; then
826899 echo "All required jobs succeeded"
827900 exit 0
0 commit comments