From d034d52ac6a3c9474de347a09f569545350ed7af Mon Sep 17 00:00:00 2001 From: Andrew Kushnir Date: Thu, 27 Mar 2025 11:28:16 -0700 Subject: [PATCH] ci: moving integration tests into a separate GH action (#60594) This commit extracts integration tests from the `test` CI job into a separate GH job (to run in parallel). PR Close #60594 --- .github/workflows/ci.yml | 18 ++++++++++++++++++ .github/workflows/pr.yml | 16 ++++++++++++++++ package.json | 3 ++- 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3e0f221d860..d6ad3d68c13 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,6 +75,24 @@ jobs: - name: Run CI tests for framework run: yarn test:ci + integration-tests: + runs-on: ubuntu-latest-4core + steps: + - name: Initialize environment + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e3c0efecadda0e0fbb616abcdf447c788959ca64 + with: + cache-node-modules: true + - name: Setup Bazel + uses: angular/dev-infra/github-actions/bazel/setup@e3c0efecadda0e0fbb616abcdf447c788959ca64 + - name: Setup Bazel Remote Caching + uses: angular/dev-infra/github-actions/bazel/configure-remote@e3c0efecadda0e0fbb616abcdf447c788959ca64 + with: + google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} + - name: Install node modules + run: yarn install --frozen-lockfile --network-timeout 100000 + - name: Run integration CI tests for framework + run: yarn integration-tests:ci + adev: runs-on: labels: ubuntu-latest-4core diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 707a4d99051..b94ebdeab82 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -83,6 +83,22 @@ jobs: path: /tmp/rbe-grpc.log retention-days: 1 + integration-tests: + runs-on: ubuntu-latest-4core + steps: + - name: Initialize environment + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e3c0efecadda0e0fbb616abcdf447c788959ca64 + with: + cache-node-modules: true + - name: Setup Bazel + uses: angular/dev-infra/github-actions/bazel/setup@e3c0efecadda0e0fbb616abcdf447c788959ca64 + - name: Setup Bazel Remote Caching + uses: angular/dev-infra/github-actions/bazel/configure-remote@e3c0efecadda0e0fbb616abcdf447c788959ca64 + - name: Install node modules + run: yarn install --frozen-lockfile --network-timeout 100000 + - name: Run integration CI tests for framework + run: yarn integration-tests:ci + artifacts: needs: [test] if: needs.test.result == 'success' diff --git a/package.json b/package.json index 9a517b7edb7..788a51d4364 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "ng-dev": "tsx --tsconfig .ng-dev/tsconfig.json node_modules/@angular/ng-dev/bundles/cli.mjs", "build": "tsx --tsconfig scripts/tsconfig.json scripts/build/build-packages-dist.mts", "test": "bazelisk test", - "test:ci": "bazelisk test -- //... -//adev/... -//devtools/... -//modules/ssr-benchmarks/...", + "test:ci": "bazelisk test -- //... -//integration/... -//adev/... -//devtools/... -//modules/ssr-benchmarks/...", + "integration-tests:ci": "bazelisk test -- //integration/...", "test-tsec": "bazelisk test //... --build_tag_filters=tsec --test_tag_filters=tsec", "lint": "yarn -s tslint && yarn -s ng-dev format changed --check", "tslint": "tslint -c tslint.json --project tsconfig-tslint.json",