[Reference PR] VRL - Ember FE Part #4944
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: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - develop | |
| - master | |
| - 'release/*' | |
| - 'hotfix/*' | |
| env: | |
| CI: true | |
| PERCY_PARALLEL_NONCE: ${{ github.run_id }}-${{ github.run_number }} | |
| PERCY_PARALLEL_TOTAL: -1 | |
| jobs: | |
| fetch-dependencies: | |
| runs-on: ubuntu-latest | |
| if: "!contains(github.event.head_commit.message, 'skip ci')" | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: volta-cli/action@v1 | |
| - id: cache-node-modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./node_modules | |
| key: cached_node_modules_${{ secrets.CACHE_VERSION }}_${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: cached_node_modules_${{ secrets.CACHE_VERSION }}_ | |
| - if: steps.cache-node-modules.outputs.cache-hit != 'true' | |
| run: yarn --frozen-lockfile --ignore-engines | |
| build: | |
| runs-on: ubuntu-latest | |
| needs: fetch-dependencies | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: volta-cli/action@v1 | |
| - id: cache-node-modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./node_modules | |
| key: cached_node_modules_${{ secrets.CACHE_VERSION }}_${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: cached_node_modules_${{ secrets.CACHE_VERSION }}_ | |
| - run: yarn build:test | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist | |
| path: ./dist | |
| lint: | |
| runs-on: ubuntu-latest | |
| needs: fetch-dependencies | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: volta-cli/action@v1 | |
| - id: cache-node-modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./node_modules | |
| key: cached_node_modules_${{ secrets.CACHE_VERSION }}_${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: cached_node_modules_${{ secrets.CACHE_VERSION }}_ | |
| - run: yarn lint | |
| test-partition-1: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: volta-cli/action@v1 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: dist | |
| path: ./dist | |
| - id: cache-node-modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./node_modules | |
| key: cached_node_modules_${{ secrets.CACHE_VERSION }}_${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: cached_node_modules_${{ secrets.CACHE_VERSION }}_ | |
| - name: Run tests with percy snapshots | |
| run: yarn percy exec --debug --parallel yarn test:ember --path ./dist --partition 1 | |
| env: | |
| PERCY_PARALLEL_NONCE: ${{ env.PERCY_PARALLEL_NONCE }} | |
| PERCY_PARALLEL_TOTAL: ${{ env.PERCY_PARALLEL_TOTAL }} | |
| PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} | |
| timeout-minutes: 10 | |
| test-partition-2: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: volta-cli/action@v1 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: dist | |
| path: ./dist | |
| - id: cache-node-modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./node_modules | |
| key: cached_node_modules_${{ secrets.CACHE_VERSION }}_${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: cached_node_modules_${{ secrets.CACHE_VERSION }}_ | |
| - name: Run tests with percy snapshots | |
| run: yarn percy exec --debug --parallel yarn test:ember --path ./dist --partition 2 | |
| env: | |
| PERCY_PARALLEL_NONCE: ${{ env.PERCY_PARALLEL_NONCE }} | |
| PERCY_PARALLEL_TOTAL: ${{ env.PERCY_PARALLEL_TOTAL }} | |
| PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} | |
| timeout-minutes: 10 | |
| test-partition-3: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: volta-cli/action@v1 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: dist | |
| path: ./dist | |
| - id: cache-node-modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./node_modules | |
| key: cached_node_modules_${{ secrets.CACHE_VERSION }}_${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: cached_node_modules_${{ secrets.CACHE_VERSION }}_ | |
| - name: Run tests with percy snapshots | |
| run: yarn percy exec --debug --parallel yarn test:ember --path ./dist --partition 3 | |
| env: | |
| PERCY_PARALLEL_NONCE: ${{ env.PERCY_PARALLEL_NONCE }} | |
| PERCY_PARALLEL_TOTAL: ${{ env.PERCY_PARALLEL_TOTAL }} | |
| PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} | |
| timeout-minutes: 10 | |
| test-partition-4: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: volta-cli/action@v1 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: dist | |
| path: ./dist | |
| - id: cache-node-modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./node_modules | |
| key: cached_node_modules_${{ secrets.CACHE_VERSION }}_${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: cached_node_modules_${{ secrets.CACHE_VERSION }}_ | |
| - name: Run tests with percy snapshots | |
| run: yarn percy exec --debug --parallel yarn test:ember --path ./dist --partition 4 | |
| env: | |
| PERCY_PARALLEL_NONCE: ${{ env.PERCY_PARALLEL_NONCE }} | |
| PERCY_PARALLEL_TOTAL: ${{ env.PERCY_PARALLEL_TOTAL }} | |
| PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} | |
| timeout-minutes: 10 | |
| test-with-coverage: | |
| needs: fetch-dependencies | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: volta-cli/action@v1 | |
| - id: cache-node-modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./node_modules | |
| key: cached_node_modules_${{ secrets.CACHE_VERSION }}_${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: cached_node_modules_${{ secrets.CACHE_VERSION }}_ | |
| - run: yarn test:ember:cover | |
| - name: Send coverage report to coveralls | |
| uses: coverallsapp/github-action@master | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| finalize-percy: | |
| needs: [test-partition-1, test-partition-2, test-partition-3, test-partition-4] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: volta-cli/action@v1 | |
| - id: cache-node-modules | |
| uses: actions/cache@v4 | |
| with: | |
| path: ./node_modules | |
| key: cached_node_modules_${{ secrets.CACHE_VERSION }}_${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: cached_node_modules_${{ secrets.CACHE_VERSION }}_ | |
| - run: yarn percy build:finalize | |
| if: ${{ env.PERCY_TOKEN != 0 }} | |
| env: | |
| PERCY_PARALLEL_NONCE: ${{ env.PERCY_PARALLEL_NONCE }} | |
| PERCY_PARALLEL_TOTAL: ${{ env.PERCY_PARALLEL_TOTAL }} | |
| PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} |