Improve horizontal layout scroll performance by removing React sync f… #1516
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: RELEASE | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - canary | |
| - dev | |
| # paths-ignore: | |
| # - 'www/**' | |
| permissions: | |
| id-token: write # Required for OIDC | |
| contents: write | |
| concurrency: | |
| group: ${{ github.workflow }} | |
| cancel-in-progress: true | |
| jobs: | |
| release: | |
| if: ${{ contains(github.event.head_commit.message, 'release version') }} | |
| runs-on: ubuntu-latest | |
| env: | |
| NEXT_PUBLIC_BASE_URL: https://infinite-table.com/.netlify/functions/json-server | |
| strategy: | |
| matrix: | |
| node-version: [20.x] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Upgrade npm (required for OIDC trusted publishing) | |
| run: | | |
| npm i -g npm@^11.5.1 | |
| npm --version | |
| - uses: './.github/actions/will-release-check' | |
| # env: | |
| # NPM_REGISTRY_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }} | |
| # - name: Echo whoami on public npm registry | |
| # run: npm whoami | |
| - name: Echo publish cmd | |
| run: echo $WILL_RELEASE_CMD | |
| - name: Set git config | |
| run: | | |
| git config --local user.email "action@github.com" | |
| git config --local user.name "SHIP IT" | |
| - name: Install | |
| run: npm i | |
| - name: Install source | |
| run: npm i --prefix source | |
| - name: Install examples | |
| run: npm ci --prefix examples | |
| - name: Install www | |
| run: npm i --prefix www | |
| - name: Get installed Playwright version | |
| id: playwright-version | |
| run: echo "::set-output name=version::$(npm ls @playwright/test | grep @playwright | sed 's/.*@//')" | |
| working-directory: examples | |
| - name: Restore cached browser binaries for Playwright | |
| id: playwright-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: '~/.cache/ms-playwright' | |
| key: '${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.version }}' | |
| - name: Install Playwright browsers | |
| # this will not install anything if the previous step found a cached browser binary | |
| run: npx playwright install --with-deps chromium | |
| working-directory: examples | |
| env: | |
| CI: true | |
| - name: Build component # in the www folder, some CSS files are used from the source/dist folder | |
| run: npm run build | |
| - name: Build test app | |
| run: npm run ci:test:build | |
| env: | |
| NEXT_PUBLIC_INFINITE_LICENSE_KEY: ${{ secrets.NEXT_PUBLIC_INFINITE_LICENSE_KEY }} | |
| - name: Running Playwright Tests | |
| run: npm run ci:test:run | |
| - name: Save browser binaries for Playwright | |
| id: playwright-save | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: '~/.cache/ms-playwright' | |
| key: '${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.version }}' | |
| # - name: Linting | |
| # run: npm run lint | |
| # working-directory: source | |
| - name: Update TOC in markdown files | |
| run: npm run doctoc | |
| - name: Bump version | |
| working-directory: source | |
| run: npm run bump:${WILL_RELEASE_VERSION} | |
| - name: Building | |
| run: npm run build | |
| - name: Ship it | |
| uses: './.github/actions/execute-cmd' | |
| with: | |
| cmd_to_execute: $WILL_RELEASE_CMD | |
| - run: git diff | |
| - run: cat package.json | |
| working-directory: source | |
| - name: Push changes | |
| uses: './.github/actions/git-push-action' | |
| with: | |
| branch: ${{ github.ref_name }} | |
| github_token: ${{ secrets.DEPLOY_GITHUB_TOKEN }} | |
| # - name: Send version to slack | |
| # uses: "./.github/actions/send-version-to-slack" | |
| # with: | |
| # slack_webhook_notify: ${{ secrets.SLACK_WEBHOOK_NOTIFY }} | |
| publish-docs-on-release: | |
| needs: release | |
| name: 'Rebuilds website' | |
| uses: ./.github/workflows/rebuild-website.yml | |
| secrets: inherit |