diff --git a/.github/workflows/ecosystem-ci.yml b/.github/workflows/ecosystem-ci.yml index 955a24dd6..a9cab2aa4 100644 --- a/.github/workflows/ecosystem-ci.yml +++ b/.github/workflows/ecosystem-ci.yml @@ -1,6 +1,10 @@ name: Ecosystem CI on: + push: + # TODO: change to `main` after testing. + branches: [ci-test] + workflow_dispatch: inputs: branch: @@ -14,15 +18,34 @@ permissions: pull-requests: write jobs: - ecosystem_ci: - name: Run Ecosystem CI + changes: + runs-on: ubuntu-latest + if: github.repository == 'web-infra-dev/rslib' && github.event_name != 'workflow_dispatch' + outputs: + changed: ${{ steps.changes.outputs.changed }} + steps: + - name: Checkout + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + fetch-depth: 1 + + - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 + id: changes + with: + predicate-quantifier: 'every' + filters: | + changed: + - "!**/*.md" + - "!**/*.mdx" + - "!**/_meta.json" + - "!**/dictionary.txt" + ecosystem_ci_dispatch: + name: Dispatch ecosystem CI runs-on: ubuntu-latest - if: github.repository == 'web-infra-dev/rslib' + if: github.repository == 'web-infra-dev/rslib' && github.event_name == 'workflow_dispatch' steps: - name: Trigger Ecosystem CI uses: rspack-contrib/rstack-ecosystem-ci/.github/actions/ecosystem_ci_dispatch@main - env: - GITHUB_TOKEN: ${{ secrets.REPO_RSLIB_ECO_CI_GITHUB_TOKEN }} with: github-token: ${{ secrets.REPO_RSLIB_ECO_CI_GITHUB_TOKEN }} ecosystem-owner: web-infra-dev @@ -31,3 +54,18 @@ jobs: client-payload: '{"ref":"${{ github.event.inputs.branch }}","repo":"web-infra-dev/rslib","suite":"-","suiteRefType":"precoded","suiteRef":"precoded"}' result-heading: Rslib Ecosystem CI branch: ${{ github.event.inputs.branch }} + ecosystem_ci_per_commit: + name: Run ecosystem CI per commit + needs: changes + runs-on: ubuntu-latest + if: github.repository == 'web-infra-dev/rslib' && github.event_name != 'workflow_dispatch' && needs.changes.outputs.changed == 'true' + steps: + - name: Trigger Ecosystem CI + uses: rspack-contrib/rstack-ecosystem-ci/.github/actions/ecosystem_ci_per_commit@main + with: + github-token: ${{ secrets.REPO_RSLIB_ECO_CI_GITHUB_TOKEN }} + ecosystem-owner: web-infra-dev + ecosystem-repo: rslib + workflow-file: rslib-ecosystem-ci-selected.yml + client-payload: '{"commitSHA":"${{ github.sha }}","updateComment":true,"repo":"web-infra-dev/rslib","suite":"-","suiteRefType":"precoded","suiteRef":"precoded"}' + result-heading: Rslib Ecosystem CI