Skip to content

Use full pnpm and integrate material.angular.io docs site into monorepo #30860

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Apr 15, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  

This file was deleted.

11 changes: 6 additions & 5 deletions .bazelignore
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
dist
node_modules

docs/node_modules

integration/harness-e2e-cli/.angular
integration/harness-e2e-cli/node_modules

integration/ng-update-v13/.angular
integration/ng-update-v13/node_modules

integration/ng-add/.angular
integration/ng-add/node_modules

integration/ng-add-standalone/.angular
integration/ng-add-standalone/node_modules

integration/yarn-pnp-compat/.angular
integration/yarn-pnp-compat/.yarn/cache
integration/yarn-pnp-compat/.yarn/unplugged
integration/yarn-pnp-compat/.yarn/install-state.gz
integration/yarn-pnp-compat/node_modules

integration/node_modules

src/cdk-experimental/node_modules
src/cdk/node_modules
src/components-examples/node_modules
@@ -32,3 +31,5 @@ src/material-moment-adapter/node_modules
src/material/node_modules
src/universal-app/node_modules
src/youtube-player/node_modules

tools/bazel/legacy-rnjs/node_modules
6 changes: 3 additions & 3 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ run --nolegacy_external_runfiles
test --nolegacy_external_runfiles

# This flag is needed to so that the bazel cache is not invalidated
# when running bazel via `yarn bazel`.
# when running bazel via `pnpm bazel`.
build --incompatible_strict_action_env

# Do not build runfile forests by default. If an execution strategy relies on runfile
@@ -49,10 +49,10 @@ test --test_output=errors

# Configures script to do version stamping.
# See https://docs.bazel.build/versions/master/user-manual.html#flag--workspace_status_command
build:release --workspace_status_command="yarn -s ng-dev:stamp --mode=release"
build:release --workspace_status_command="pnpm -s ng-dev:stamp --mode=release"
build:release --stamp

build:snapshot-build --workspace_status_command="yarn -s ng-dev:stamp --mode=snapshot"
build:snapshot-build --workspace_status_command="pnpm -s ng-dev:stamp --mode=snapshot"
build:snapshot-build --stamp

####################################
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# `material.angular.io/` folder renamed to `docs/`
cc8d090758b6448a3f745e1faf3e503a293b1757
1 change: 0 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -4,7 +4,6 @@
/.husky/ @angular/dev-infra-components
/.ng-dev/ @angular/dev-infra-components
/.vscode/ @angular/dev-infra-components
/.yarn/ @angular/dev-infra-components
/scripts/ @angular/dev-infra-components
/test/ @angular/dev-infra-components

19 changes: 9 additions & 10 deletions .github/workflows/ci.material-aio.yml
Original file line number Diff line number Diff line change
@@ -17,7 +17,6 @@ permissions: {}
defaults:
run:
shell: bash
working-directory: material.angular.io

env:
# TODO: Remove when pnpm is exclusively used.
@@ -30,31 +29,31 @@ jobs:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Linting
run: yarn bazel test --test_tag_filters=lint //...
run: pnpm --cwd=docs bazel test --test_tag_filters=lint //...

build:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Direct Production Build (deploy usage)
run: yarn prod-build
run: pnpm -s --cwd=docs prod-build
- name: Execute Build via Bazel
run: yarn bazel build //...
run: pnpm -s --cwd=docs bazel build //...

test:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Tests
run: yarn bazel test --test_tag_filters=-lint,-e2e,-audit //...
run: pnpm --cwd=docs bazel test --test_tag_filters=-lint,-e2e,-audit //...
- name: Store Test Logs
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
if: always()
@@ -69,9 +68,9 @@ jobs:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Lighthouse Audit
run: yarn bazel test --test_tag_filters=audit //...
run: pnpm -s --cwd=docs bazel test --test_tag_filters=audit //...
- name: Store Audit Logs
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
if: always()
60 changes: 30 additions & 30 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -25,25 +25,25 @@ jobs:
with:
cache-node-modules: true
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Checking package externals
run: |
bazel build //:package_externals
yarn check-package-externals $(bazel info bazel-bin)/package_externals.json
pnpm check-package-externals $(bazel info bazel-bin)/package_externals.json
- name: Checking entry-points configuration
run: |
bazel build //:entry_points_manifest
yarn check-entry-point-setup $(bazel info bazel-bin)/entry_points_manifest.json
pnpm check-entry-point-setup $(bazel info bazel-bin)/entry_points_manifest.json
- name: Check OWNERS file
run: yarn ownerslint
run: pnpm ownerslint
- name: Check for component id collisions
run: yarn detect-component-id-collisions
run: pnpm detect-component-id-collisions
- name: Check style lint
run: yarn stylelint
run: pnpm stylelint
- name: Check code lint
run: yarn tslint
run: pnpm tslint
- name: Check for circular dependencies
run: yarn -s ts-circular-deps:check
run: pnpm -s ts-circular-deps:check
- uses: ./.github/actions/slack
if: failure()
with:
@@ -64,9 +64,9 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Check API Goldens
run: yarn bazel test goldens/...
run: pnpm bazel test goldens/...
- uses: ./.github/actions/slack
if: failure()
with:
@@ -87,9 +87,9 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run e2e tests
run: yarn e2e --flaky_test_attempts=2
run: pnpm e2e --flaky_test_attempts=2
- uses: ./.github/actions/slack
if: failure()
with:
@@ -110,9 +110,9 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run integration tests
run: yarn integration-tests
run: pnpm integration-tests
continue-on-error: true
- uses: ./.github/actions/slack
if: failure()
@@ -134,9 +134,9 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run linker AOT tests
run: yarn test-linker-aot
run: pnpm test-linker-aot
- uses: ./.github/actions/slack
if: failure()
with:
@@ -157,9 +157,9 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run linker JIT tests
run: yarn test-linker-jit
run: pnpm test-linker-jit
- uses: ./.github/actions/slack
if: failure()
with:
@@ -180,7 +180,7 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run tests
run: bazel test --build_tag_filters=-e2e --test_tag_filters=-e2e --build_tests_only -- src/...
env:
@@ -205,7 +205,7 @@ jobs:
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run tests
run: bazel build --build_tag_filters=-docs-package,-release-package -- src/...
- uses: ./.github/actions/slack
@@ -226,15 +226,15 @@ jobs:
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Build and Verify Release Output
run: yarn build-and-check-release-output
run: pnpm build-and-check-release-output
- name: Verify tooling setup
run: yarn check-tooling-setup
run: pnpm check-tooling-setup
- name: Build Docs Content
run: yarn build-docs-content
run: pnpm build-docs-content
- name: Build Docs Content
run: yarn build-docs-content
run: pnpm build-docs-content
- name: Publish Snapshots
run: ./scripts/circleci/publish-snapshots.sh
env:
@@ -261,13 +261,13 @@ jobs:
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Build and Verify Release Output
run: yarn build-and-check-release-output
run: pnpm build-and-check-release-output
- name: Verify tooling setup
run: yarn check-tooling-setup
run: pnpm check-tooling-setup
- name: Deploy the docs app
run: yarn ci-push-deploy-docs-app
run: pnpm ci-push-deploy-docs-app
env:
CIRCLE_BRANCH: ${{ github.ref_name }}
CIRCLE_SHA1: ${{ github.sha }}
@@ -291,7 +291,7 @@ jobs:
with:
cache-node-modules: true
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Setup Bazel
uses: angular/dev-infra/github-actions/bazel/setup@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Setup Browserstack Variables
4 changes: 2 additions & 2 deletions .github/workflows/deploy-dev-app-main-push.yml
Original file line number Diff line number Diff line change
@@ -25,11 +25,11 @@ jobs:
- name: Setup Bazel RBE
uses: angular/dev-infra/github-actions/bazel/configure-remote@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile

- name: Building dev-app
run: |
yarn -s bazel build //src/dev-app:web_package --symlink_prefix=dist/
pnpm -s bazel build //src/dev-app:web_package --symlink_prefix=dist/
cp -R dist/bin/src/dev-app/web_package dist/dev-app-web-pkg

- name: Configure Firebase deploy target
21 changes: 9 additions & 12 deletions .github/workflows/pr.material-aio.yml
Original file line number Diff line number Diff line change
@@ -15,7 +15,6 @@ permissions: {}
defaults:
run:
shell: bash
working-directory: material.angular.io

env:
# TODO: Remove when pnpm is exclusively used.
@@ -28,31 +27,29 @@ jobs:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Linting
run: yarn bazel test --test_tag_filters=lint //...
run: pnpm bazel test --test_tag_filters=lint //docs/...

build:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
- name: Execute Direct Production Build (deploy usage)
run: yarn prod-build
- name: Execute Build via Bazel
run: yarn bazel build //...
run: pnpm install --frozen-lockfile
- name: Execute Build
run: pnpm bazel build //docs/...

test:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Tests
run: yarn bazel test --test_tag_filters=-lint,-e2e,-audit //...
run: pnpm bazel test --test_tag_filters=-lint,-e2e,-audit //docs/...
- name: Store Test Logs
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
if: always()
@@ -67,9 +64,9 @@ jobs:
- name: Initialize environment
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@e4bf37af223483ce00f9316d227fd62cd744dc4b
- name: Install node modules
run: yarn install --immutable
run: pnpm install --frozen-lockfile
- name: Execute Lighthouse Audit
run: yarn bazel test --test_tag_filters=audit //...
run: pnpm bazel test --test_tag_filters=audit //docs/...
- name: Store Audit Logs
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
if: always()
Loading