Skip to content

Upgrade Effect to 4.0.0-rc.109 #342

Upgrade Effect to 4.0.0-rc.109

Upgrade Effect to 4.0.0-rc.109 #342

Workflow file for this run

name: CI
on:
pull_request:
concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6
- uses: actions/setup-node@v7
with:
node-version: 24
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm check
changeset-policy:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Require a changeset
if: >-
github.head_ref != 'changeset-release/main' ||
github.event.pull_request.user.login != 'github-actions[bot]'
run: >-
node scripts/check-changeset.mjs
--base ${{ github.event.pull_request.base.sha }}
--head ${{ github.event.pull_request.head.sha }}
- name: Accept the Changesets release pull request
if: >-
github.head_ref == 'changeset-release/main' &&
github.event.pull_request.user.login == 'github-actions[bot]'
run: echo "Changesets release pull requests consume their changeset files."
discover-examples:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.examples.outputs.examples }}
required: ${{ steps.examples.outputs.examples_required }}
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- id: examples
run: >-
node scripts/ci-changes.mjs
--base ${{ github.event.pull_request.base.sha }}
--head ${{ github.event.pull_request.head.sha }}
--github-output "$GITHUB_OUTPUT"
example:
needs: discover-examples
if: needs.discover-examples.outputs.required == 'true'
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.discover-examples.outputs.matrix) }}
name: example (${{ matrix.example }})
runs-on: ubuntu-latest
defaults:
run:
working-directory: ${{ matrix.directory }}
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6
with:
package_json_file: ${{ matrix.directory }}/package.json
- uses: actions/setup-node@v7
with:
node-version: 24
cache: pnpm
cache-dependency-path: |
pnpm-lock.yaml
${{ matrix.directory }}/pnpm-lock.yaml
- run: pnpm --dir ../.. install --frozen-lockfile
- run: pnpm --dir ../.. build
- run: pnpm install --frozen-lockfile
- run: pnpm check
examples:
if: always()
needs: [discover-examples, example]
name: examples
runs-on: ubuntu-latest
steps:
- name: Require every example check to pass
env:
DISCOVERY_RESULT: ${{ needs.discover-examples.result }}
EXAMPLES_REQUIRED: ${{ needs.discover-examples.outputs.required }}
EXAMPLE_RESULT: ${{ needs.example.result }}
run: |
test "$DISCOVERY_RESULT" = "success"
if test "$EXAMPLES_REQUIRED" = "true"; then
test "$EXAMPLE_RESULT" = "success"
else
test "$EXAMPLE_RESULT" = "skipped"
echo "Examples are not affected by this pull request." >> "$GITHUB_STEP_SUMMARY"
fi