Fix render ratom watches being lost for class components with StrictMode #446
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: Run tests | |
| on: [push, pull_request] | |
| jobs: | |
| test: | |
| strategy: | |
| matrix: | |
| env: | |
| - browser-npm | |
| - browser-npm-prod | |
| - bundle | |
| - bundle-adv | |
| - node-npm | |
| - shadow-cljs-prod | |
| react: | |
| - 19 | |
| include: | |
| # Test against React 18 on a few envs | |
| # React 19 is not available as UMD module | |
| - react: 18 | |
| env: browser-cljsjs | |
| - react: 18 | |
| env: browser-cljsjs-prod | |
| - react: 18 | |
| env: shadow-cljs-prod | |
| name: Test ${{ matrix.env }} on React ${{ matrix.react }} | |
| runs-on: ubuntu-latest | |
| env: | |
| ENV: ${{ matrix.env }} | |
| REACT_VERSION: ${{ matrix.react }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'adopt' | |
| java-version: 21 | |
| - name: Setup Clojure | |
| uses: DeLaGuardo/setup-clojure@master | |
| with: | |
| lein: 2.9.10 | |
| cli: latest | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: 'package.json' | |
| # setup-java cache only looks at pom.xml for the key | |
| - name: Cache m2 | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/project.clj') }} | |
| restore-keys: | | |
| ${{ runner.os }}-m2- | |
| - name: Install node deps | |
| run: npm ci | |
| # Note, react 18 doesn't get cached? Or might even mess up node cache | |
| - name: Setup React | |
| if: ${{ matrix.react == 18 }} | |
| run: npm install [email protected] [email protected] | |
| - name: Run tests | |
| run: ./test-environments/${{ matrix.env }}/test.sh | |
| - uses: codecov/codecov-action@v5 | |
| with: | |
| env_vars: ENV | |
| update-site: | |
| name: Update site | |
| runs-on: ubuntu-latest | |
| if: ${{ github.ref == 'refs/heads/master' }} | |
| needs: test | |
| environment: build-site | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'adopt' | |
| java-version: 21 | |
| - name: Setup Clojure | |
| uses: DeLaGuardo/setup-clojure@master | |
| with: | |
| lein: 2.9.8 | |
| cli: latest | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: 'package.json' | |
| # setup-java cache only looks at pom.xml for the key | |
| - name: Cache m2 | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/project.clj') }} | |
| restore-keys: | | |
| ${{ runner.os }}-m2- | |
| - name: Install node deps | |
| run: npm ci | |
| - name: Build site | |
| run: ./build-example-site.sh | |
| env: | |
| SITE_TOKEN: ${{ secrets.SITE_TOKEN }} | |
| update-tagged-docs: | |
| name: Update docs | |
| runs-on: ubuntu-latest | |
| if: ${{ startsWith(github.ref, 'refs/tags/') }} | |
| needs: test | |
| environment: build-site | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'adopt' | |
| java-version: 21 | |
| - name: Setup Clojure | |
| uses: DeLaGuardo/setup-clojure@master | |
| with: | |
| lein: 2.9.8 | |
| cli: latest | |
| # setup-java cache only looks at pom.xml for the key | |
| - name: Cache m2 | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/project.clj') }} | |
| restore-keys: | | |
| ${{ runner.os }}-m2- | |
| - name: Build docs | |
| run: ./build-docs.sh | |
| # Fine grained personal access token, 366 days expiry, only contents rw permission to the site repo | |
| env: | |
| SITE_TOKEN: ${{ secrets.SITE_TOKEN }} |