fix: memoize nested proxies and fix useRippleEffect with signals #18
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - "releases/**" | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| outputs: | |
| new_version: ${{ steps.npm_version_and_tag.outputs.new_version }} | |
| steps: | |
| - name: Checkout code with full history | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "24.x" | |
| - run: npm ci | |
| - run: npm run build --if-present | |
| # Only run on main branch | |
| - name: Get latest tag and commit messages for release notes | |
| id: get_release_info | |
| if: github.ref == 'refs/heads/main' | |
| run: | | |
| LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "") | |
| echo "Found latest tag: '$LATEST_TAG'" | |
| if [ -z "$LATEST_TAG" ]; then | |
| echo "No previous tag found. Getting all commit messages." | |
| COMMIT_MESSAGES=$(git log --pretty=format:"- %s" HEAD) | |
| else | |
| echo "Getting commit messages since tag '$LATEST_TAG'." | |
| COMMIT_MESSAGES=$(git log --pretty=format:"- %s" ${LATEST_TAG}..HEAD) | |
| fi | |
| if [ -z "$COMMIT_MESSAGES" ]; then | |
| COMMIT_MESSAGES="No new changes since last release." | |
| fi | |
| echo "commit_messages<<EOF" >> $GITHUB_OUTPUT | |
| echo "$COMMIT_MESSAGES" >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| - name: Increment version, create commit and tag | |
| id: npm_version_and_tag | |
| if: github.ref == 'refs/heads/main' | |
| run: | | |
| NEW_VERSION=$(npm version patch --no-git-tag-version) | |
| echo "Determined new version: $NEW_VERSION" | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| git add package.json | |
| git commit -m "Release $NEW_VERSION" -m "${{ steps.get_release_info.outputs.commit_messages }}" | |
| git tag $NEW_VERSION | |
| echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT | |
| - name: Push new commit and tag to GitHub | |
| if: github.ref == 'refs/heads/main' | |
| run: | | |
| git push origin HEAD:${{ github.ref_name }} | |
| git push origin ${{ steps.npm_version_and_tag.outputs.new_version }} | |
| - name: Create GitHub Release | |
| if: github.ref == 'refs/heads/main' | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| tag_name: ${{ steps.npm_version_and_tag.outputs.new_version }} | |
| name: Release ${{ steps.npm_version_and_tag.outputs.new_version }} | |
| body: | | |
| Automated release from branch `${{ github.ref_name }}`. | |
| ### Changes: | |
| ${{ steps.get_release_info.outputs.commit_messages }} | |
| draft: false | |
| prerelease: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |