diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c548228..9980e5b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,19 +11,44 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + with: + fetch-depth: 0 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' + - name: Install pnpm + run: npm install -g pnpm + - name: Install dependencies run: pnpm install + - name: Fetch main branch + run: git fetch origin main + - name: Get changed workspaces id: changesets run: | - echo "CHANGED_WORKSPACES=$(pnpm list --depth=-1 --json | jq -r '.[] | select(.dev !== true) | select(.updated === true) | .path' | tr '\n' ' ')" >> $GITHUB_ENV + CHANGED_WORKSPACES=$(git diff --name-only origin/main...HEAD -- packages/ | grep 'packages/' | cut -d '/' -f 2 | sort | uniq | tr '\n' ',') + echo "Changed workspaces: $CHANGED_WORKSPACES" + echo "CHANGED_WORKSPACES=$CHANGED_WORKSPACES" >> $GITHUB_ENV + + - name: Add empty changeset if necessary + if: env.CHANGED_WORKSPACES != '' + run: | + if pnpm changeset status --since-ref main --verbose | grep -q 'Some packages have been changed'; then + pnpm changeset add --empty + fi - name: Run tests for changed packages - run: pnpm -r --filter="${{ env.CHANGED_WORKSPACES }}" test + if: env.CHANGED_WORKSPACES != '' + run: | + IFS=',' read -r -a packages <<< "${CHANGED_WORKSPACES}" + for package in "${packages[@]}"; do + if [ -n "$package" ]; then + echo "Running tests for package: $package" + pnpm -r --filter "./packages/$package" test + fi + done diff --git a/packages/react-metronome/package.json b/packages/react-metronome/package.json index 77ee3e3..6b1a725 100644 --- a/packages/react-metronome/package.json +++ b/packages/react-metronome/package.json @@ -1,6 +1,6 @@ { "name": "brgndy-react-metronome", - "version": "1.1.0", + "version": "1.1.1", "description": "metronome library component for react", "main": "dist/cjs/index.js", "files": [ diff --git a/packages/react-wave-form/package.json b/packages/react-wave-form/package.json index 6ea66e4..315c3ff 100644 --- a/packages/react-wave-form/package.json +++ b/packages/react-wave-form/package.json @@ -1,6 +1,6 @@ { "name": "brgndy-react-wave-form", - "version": "1.1.0", + "version": "1.1.1", "description": "react audio waveform library like soundcloud", "main": "dist/cjs/index.js", "types": "dist/index.d.ts",