Skip to content

Validate Platforms/Browsers #692

Validate Platforms/Browsers

Validate Platforms/Browsers #692

name: Validate Platforms/Browsers
on:
push:
branches:
- master
pull_request:
branches:
- master
schedule:
- cron: 0 7 * * 3
jobs:
linux_cross-platform_cross-browser:
runs-on: [ubuntu-latest]
env:
PLAYWRIGHT_BROWSERS_PATH: 0
steps:
- uses: actions/checkout@v2
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo '::set-output name=dir::$(yarn cache dir)'
- name: Set up node_modules cache
uses: actions/cache@v2
id: yarn-cache
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
node_modules
*/*/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install package dependencies
run: yarn install --frozen-lockfile --ignore-scripts
- name: Testing Prettier format
run: yarn format:check
- name: Prepare workspaces
run: yarn prepare
- name: Testing unit tests
run: yarn lerna run test --stream
- name: Install playwright dependencies and browsers
run: |
yarn playwright install-deps
yarn playwright install
- name: Build Playwright tests
run: yarn workspace @microsoft/fast-components build:pw
- name: Test Playwright (chromium)
run: yarn workspace @microsoft/fast-components test-pw
continue-on-error: true
timeout-minutes: 2
env:
PLAYWRIGHT_BROWSER: chromium
- name: Test Playwright (firefox)
run: yarn workspace @microsoft/fast-components test-pw
continue-on-error: true
timeout-minutes: 2
env:
PLAYWRIGHT_BROWSER: firefox
- name: Test Playwright (webkit)
run: yarn workspace @microsoft/fast-components test-pw
continue-on-error: true
timeout-minutes: 2
env:
PLAYWRIGHT_BROWSER: webkit
- name: Initialize CodeQL
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
uses: github/codeql-action/init@v1
with:
languages: javascript, typescript
- name: Perform CodeQL Analysis
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
uses: github/codeql-action/analyze@v1
windows_cross-platform_cross-browser:
runs-on: [windows-latest]
env:
PLAYWRIGHT_BROWSERS_PATH: 0
steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- uses: actions/checkout@v2
- name: Display the path
run: echo $PATH
shell: bash
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo '::set-output name=dir::$(yarn cache dir)'
- name: Set up node_modules cache
uses: actions/cache@v2
id: yarn-cache
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
node_modules
*/*/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install package dependencies
run: yarn install --frozen-lockfile --ignore-scripts
- name: Testing Prettier format
run: yarn format:check
- name: Prepare workspaces
run: yarn prepare
- name: Testing unit tests
run: yarn lerna run test --stream
- name: Install playwright dependencies and browsers
run: |
yarn playwright install-deps
yarn playwright install
- name: Build Playwright tests
run: yarn workspace @microsoft/fast-components build:pw
- name: Test Playwright (chromium)
run: yarn workspace @microsoft/fast-components test-pw
continue-on-error: true
timeout-minutes: 2
env:
PLAYWRIGHT_BROWSER: chromium
- name: Test Playwright (firefox)
run: yarn workspace @microsoft/fast-components test-pw
continue-on-error: true
timeout-minutes: 2
env:
PLAYWRIGHT_BROWSER: firefox
- name: Test Playwright (webkit)
run: yarn workspace @microsoft/fast-components test-pw
continue-on-error: true
timeout-minutes: 2
env:
PLAYWRIGHT_BROWSER: webkit
macos_cross-platform_cross-browser:
runs-on: [macos-11]
env:
PLAYWRIGHT_BROWSERS_PATH: 0
steps:
- uses: actions/checkout@v2
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo '::set-output name=dir::$(yarn cache dir)'
- name: Set up node_modules cache
uses: actions/cache@v2
id: yarn-cache
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
node_modules
*/*/node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install package dependencies
run: yarn install --network-timeout=36000 --frozen-lockfile --ignore-scripts
- name: Testing Prettier format
run: yarn format:check
- name: Prepare workspaces
run: yarn prepare
- name: Testing unit tests
run: yarn lerna run test --stream
- name: Install playwright dependencies and browsers
run: |
yarn playwright install-deps
yarn playwright install
- name: Build Playwright tests
run: yarn workspace @microsoft/fast-components build:pw
- name: Test Playwright (chromium)
run: yarn workspace @microsoft/fast-components test-pw
continue-on-error: true
timeout-minutes: 2
env:
PLAYWRIGHT_BROWSER: chromium
- name: Test Playwright (firefox)
run: yarn workspace @microsoft/fast-components test-pw
continue-on-error: true
timeout-minutes: 2
env:
PLAYWRIGHT_BROWSER: firefox
- name: Test Playwright (webkit)
run: yarn workspace @microsoft/fast-components test-pw
continue-on-error: true
timeout-minutes: 2
env:
PLAYWRIGHT_BROWSER: webkit