diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index ef5b1bc63a6..dc5220291d7 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -19,7 +19,21 @@ env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} jobs: + optimize_ci: + runs-on: ubuntu-latest + outputs: + skip: ${{ steps.check_skip.outputs.skip }} + steps: + - name: Optimize CI + id: check_skip + uses: withgraphite/graphite-ci-action@main + with: + graphite_token: ${{ secrets.GRAPHITE_OMTIMIZE_TOKEN }} + + build: + needs: optimize_ci + if: needs.optimize_ci.outputs.skip == 'false' runs-on: ubuntu-latest name: Build Packages steps: @@ -33,6 +47,8 @@ jobs: run: pnpm build:packages lint: + needs: optimize_ci + if: needs.optimize_ci.outputs.skip == 'false' timeout-minutes: 15 name: Lint Packages runs-on: ubuntu-latest @@ -51,6 +67,8 @@ jobs: - run: pnpm lint test: + needs: optimize_ci + if: needs.optimize_ci.outputs.skip == 'false' timeout-minutes: 15 name: Unit Tests runs-on: ubuntu-latest @@ -77,6 +95,8 @@ jobs: verbose: true e2e: + needs: optimize_ci + if: needs.optimize_ci.outputs.skip == 'false' timeout-minutes: 15 name: E2E Tests runs-on: ubuntu-latest @@ -144,8 +164,9 @@ jobs: fi size: + needs: optimize_ci # only run on pull requests - if: github.event_name == 'pull_request' + if: github.event_name == 'pull_request' && needs.optimize_ci.outputs.skip == 'false' timeout-minutes: 15 name: "Size" runs-on: ubuntu-latest diff --git a/.github/workflows/CI_legacy.yml b/.github/workflows/CI_legacy.yml index 4777e983f04..fcf8b25425f 100644 --- a/.github/workflows/CI_legacy.yml +++ b/.github/workflows/CI_legacy.yml @@ -27,7 +27,20 @@ env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} jobs: + optimize_ci: + runs-on: ubuntu-latest + outputs: + skip: ${{ steps.check_skip.outputs.skip }} + steps: + - name: Optimize CI + id: check_skip + uses: withgraphite/graphite-ci-action@main + with: + graphite_token: ${{ secrets.GRAPHITE_OMTIMIZE_TOKEN }} + build: + needs: optimize_ci + if: needs.optimize_ci.outputs.skip == 'false' runs-on: ubuntu-latest name: Build Packages steps: @@ -41,6 +54,8 @@ jobs: run: pnpm build:legacy_packages lint: + needs: optimize_ci + if: needs.optimize_ci.outputs.skip == 'false' timeout-minutes: 15 name: Lint Packages runs-on: ubuntu-latest @@ -54,6 +69,8 @@ jobs: - run: pnpm lint:legacy test: + needs: optimize_ci + if: needs.optimize_ci.outputs.skip == 'false' timeout-minutes: 15 name: Unit Tests runs-on: ubuntu-latest @@ -74,6 +91,8 @@ jobs: verbose: true e2e: + needs: optimize_ci + if: needs.optimize_ci.outputs.skip == 'false' timeout-minutes: 15 name: E2E Tests runs-on: ubuntu-latest