docs: Fix link to material-ui example #54773
This file contains 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
on: | |
push: | |
branches: [canary] | |
pull_request: | |
types: [opened, synchronize] | |
name: Build, test, and deploy | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
NEXT_TELEMETRY_DISABLED: 1 | |
outputs: | |
docsChange: ${{ steps.docs-change.outputs.DOCS_CHANGE }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 25 | |
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* | |
- run: yarn install --frozen-lockfile --check-files | |
- run: node run-tests.js --timings --write-timings -g 1/1 | |
- name: Check docs only change | |
run: echo ::set-output name=DOCS_CHANGE::$(node skip-docs-change.js echo 'not-docs-only-change') | |
id: docs-change | |
- run: echo ${{steps.docs-change.outputs.DOCS_CHANGE}} | |
- uses: actions/cache@v2 | |
id: cache-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
lint: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/cache@v2 | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
- run: yarn lint | |
checkPrecompiled: | |
name: Check Pre-compiled | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
NEXT_TELEMETRY_DISABLED: 1 | |
steps: | |
- uses: actions/cache@v2 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
- run: ./check-pre-compiled.sh | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
testUnit: | |
name: Test Unit | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
NEXT_TELEMETRY_DISABLED: 1 | |
NEXT_TEST_JOB: 1 | |
HEADLESS: true | |
steps: | |
- uses: actions/cache@v2 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
- run: node run-tests.js --timings --type unit -g 1/1 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
testIntegration: | |
name: Test Integration | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
NEXT_TELEMETRY_DISABLED: 1 | |
NEXT_TEST_JOB: 1 | |
HEADLESS: true | |
strategy: | |
fail-fast: false | |
matrix: | |
group: [1, 2, 3, 4, 5, 6] | |
steps: | |
- run: echo ${{needs.build.outputs.docsChange}} | |
- uses: actions/cache@v2 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
# TODO: remove after we fix watchpack watching too much | |
- run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
- run: xvfb-run node run-tests.js --timings -g ${{ matrix.group }}/6 -c 3 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
testElectron: | |
name: Test Electron | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
NEXT_TELEMETRY_DISABLED: 1 | |
NEXT_TEST_JOB: 1 | |
HEADLESS: true | |
TEST_ELECTRON: 1 | |
steps: | |
- uses: actions/cache@v2 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
# TODO: remove after we fix watchpack watching too much | |
- run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
- run: cd test/integration/with-electron/app && yarn | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
- run: xvfb-run node run-tests.js test/integration/with-electron/test/index.test.js | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
testYarnPnP: | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
NODE_OPTIONS: '--unhandled-rejections=strict' | |
YARN_COMPRESSION_LEVEL: '0' | |
steps: | |
- uses: actions/cache@v2 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
- run: bash ./test-pnp.sh | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
testsPass: | |
name: thank you, next | |
runs-on: ubuntu-latest | |
needs: [lint, checkPrecompiled, testIntegration, testUnit, testYarnPnP] | |
steps: | |
- run: exit 0 | |
testLegacyWebpack: | |
name: Webpack 4 (Basic, Production, Acceptance) | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
NEXT_TELEMETRY_DISABLED: 1 | |
NEXT_TEST_JOB: 1 | |
HEADLESS: true | |
NEXT_PRIVATE_TEST_WEBPACK4_MODE: 1 | |
steps: | |
- uses: actions/cache@v2 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
- run: xvfb-run node run-tests.js test/integration/{basic,fallback-modules,link-ref,production,async-modules,font-optimization,ssr-ctx}/test/index.test.js test/acceptance/*.test.js | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
testFirefox: | |
name: Test Firefox (production) | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
HEADLESS: true | |
BROWSER_NAME: 'firefox' | |
NEXT_TELEMETRY_DISABLED: 1 | |
steps: | |
- uses: actions/cache@v2 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
- run: node run-tests.js -c 1 test/integration/production/test/index.test.js | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
testSafari: | |
name: Test Safari (production) | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
BROWSERSTACK: true | |
BROWSER_NAME: 'safari' | |
NEXT_TELEMETRY_DISABLED: 1 | |
SKIP_LOCAL_SELENIUM_SERVER: true | |
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }} | |
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }} | |
steps: | |
- uses: actions/cache@v2 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
- run: '[[ -z "$BROWSERSTACK_ACCESS_KEY" ]] && echo "Skipping for PR" || node run-tests.js -c 1 test/integration/production/test/index.test.js' | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
testSafariOld: | |
name: Test Safari 10.1 (nav) | |
runs-on: ubuntu-latest | |
needs: [build, testSafari] | |
env: | |
BROWSERSTACK: true | |
LEGACY_SAFARI: true | |
BROWSER_NAME: 'safari' | |
NEXT_TELEMETRY_DISABLED: 1 | |
SKIP_LOCAL_SELENIUM_SERVER: true | |
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }} | |
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }} | |
steps: | |
- uses: actions/cache@v2 | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
- run: '[[ -z "$BROWSERSTACK_ACCESS_KEY" ]] && echo "Skipping for PR" || node run-tests.js -c 1 test/integration/production-nav/test/index.test.js' | |
if: ${{needs.build.outputs.docsChange != 'docs only change'}} | |
publishRelease: | |
name: Potentially publish release | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
steps: | |
- uses: actions/cache@v2 | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
- run: ./publish-release.sh | |
prStats: | |
name: Release Stats | |
runs-on: ubuntu-latest | |
needs: [publishRelease] | |
steps: | |
- uses: actions/cache@v2 | |
id: restore-build | |
with: | |
path: ./* | |
key: ${{ github.sha }} | |
- run: ./release-stats.sh | |
- uses: ./.github/actions/next-stats-action | |
env: | |
PR_STATS_COMMENT_TOKEN: ${{ secrets.PR_STATS_COMMENT_TOKEN }} |