diff --git a/.github/workflows/perf.yml b/.github/workflows/perf.yml new file mode 100644 index 000000000000..13fbce067b37 --- /dev/null +++ b/.github/workflows/perf.yml @@ -0,0 +1,42 @@ +name: Performance Tracking + +on: + push: + branches: + - main + +permissions: {} + +defaults: + run: + shell: bash + +jobs: + list: + timeout-minutes: 3 + runs-on: ubuntu-latest + outputs: + workflows: ${{ steps.workflows.outputs.workflows }} + steps: + - name: Initialize environment + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@53fb7c37cf14343f14ed79e2fefbbb2489ead4ee + - name: Install node modules + run: yarn install --immutable + - id: workflows + run: echo "workflows=$(yarn ng-dev perf workflows --list)" >> "$GITHUB_OUTPUT" + + workflow: + timeout-minutes: 30 + runs-on: ubuntu-latest + needs: list + strategy: + matrix: + workflow: ${{ fromJSON(needs.list.outputs.workflows) }} + steps: + - name: Initialize environment + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@53fb7c37cf14343f14ed79e2fefbbb2489ead4ee + - name: Setup Bazel + uses: angular/dev-infra/github-actions/bazel/setup@53fb7c37cf14343f14ed79e2fefbbb2489ead4ee + - name: Install node modules + run: yarn install --immutable + - run: yarn ng-dev perf workflows --name ${{ matrix.workflow }} diff --git a/.ng-dev/dx-perf-workflows.yml b/.ng-dev/dx-perf-workflows.yml new file mode 100644 index 000000000000..910dafc572ba --- /dev/null +++ b/.ng-dev/dx-perf-workflows.yml @@ -0,0 +1,7 @@ +workflows: + build-cli: + name: Build cli + prepare: + - bazel clean + workflow: + - bazel build //packages/angular/cli:npm_package