Skip to content

Commit

Permalink
Merge branch 'master' into users/eisenbergeffect/pr-and-issue-templates
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisdholt authored Apr 5, 2021
2 parents 644da62 + a4fd105 commit 298679b
Show file tree
Hide file tree
Showing 1,100 changed files with 105,995 additions and 30,512 deletions.
11 changes: 0 additions & 11 deletions .babelrc

This file was deleted.

3 changes: 3 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Never lint test files
*.spec.ts

# Never lint node_modules
node_modules

Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/cd-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: CI - FAST Manual Publish

on:
workflow_dispatch:

jobs:
build_linux:
runs-on: ubuntu-latest

env:
NPM_PAT: ${{ secrets.NPM_PAT}}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_SERVICE_PAT: ${{ secrets.GH_PAT }}
GITHUB_SERVICE_USER: "Microsoft FAST Builds"
GITHUB_SERVICE_EMAIL: "[email protected]"

steps:
- uses: actions/checkout@v2

- name: Add or Update packages
run: sudo yarn global add lerna

- name: Authenticate Git for Pushes
run: |
git config --global user.name "${{ env.GITHUB_SERVICE_USER }}"
git config --global user.email "${{ env.GITHUB_SERVICE_EMAIL }}"
- name: Install package dependencies / prepare workspaces
run: yarn install --frozen-lockfile

- name: Testing Prettier format
run: lerna run prettier:diff

- name: Testing unit tests
run: lerna run test --stream

- name: Publish NPM changed packages
run: |
yarn publish-ci -y -n $NPM_PAT
41 changes: 27 additions & 14 deletions .github/workflows/ci-daily.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: CI - FAST

on:
push:
push:
branches:
- master
- releases/*
Expand All @@ -18,42 +18,55 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Add or Update packages
run: sudo yarn global add lerna

- 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@v1.1.2
uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
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 / prepare workspaces
run: yarn install --frozen-lockfile
- name: Install package dependencies
run: yarn install --frozen-lockfile --ignore-scripts --prefer-offline

- name: Check for the presence of changed files inside ./change
run: yarn checkchange

- name: Testing Prettier format
run: lerna run prettier:diff
run: yarn format:check

- name: Prepare workspaces
run: yarn prepare

- name: Testing unit tests
run: lerna run test --stream
run: yarn lerna run test --stream

- name: Collect and upload code coverage to Code Climate
uses: paambaati/codeclimate-action@v2.6.0
env:
uses: paambaati/codeclimate-action@v2.7.5
env:
CC_TEST_REPORTER_ID: 08a773cb4ea5811add5a45e12873e5cd2634c005568705cc37abfd5217617a32
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
coverageCommand: lerna run coverage
coverageCommand: yarn lerna run coverage
coverageLocations: |
${{github.workspace}}/packages/tooling/fast-tooling/coverage/lcov.info:lcov
${{github.workspace}}/packages/tooling/fast-tooling-react/coverage/lcov.info:lcov
${{github.workspace}}/packages/tooling/fast-tooling-wasm/coverage/lcov.info:lcov
${{github.workspace}}/packages/tooling/fast-figma-plugin-msft/coverage/lcov.info:lcov
${{github.workspace}}/packages/utilities/fast-animation/coverage/lcov.info:lcov
${{github.workspace}}/packages/utilities/fast-colors/coverage/lcov.info:lcov
${{github.workspace}}/packages/utilities/fast-web-utilities/coverage/lcov.info:lcov
${{github.workspace}}/packages/utilities/fast-eslint-rules/coverage/lcov.info:lcov
${{github.workspace}}/sites/fast-component-explorer/coverage/lcov.info:lcov
debug: false
debug: false

- name: Testing final validation
run: yarn test:validation
41 changes: 41 additions & 0 deletions .github/workflows/ci-nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: CI - FAST Publish

on:
schedule:
- cron: '0 0 * * *'

jobs:
build_linux:
runs-on: ubuntu-latest

env:
NPM_PAT: ${{ secrets.NPM_PAT}}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_SERVICE_PAT: ${{ secrets.GH_PAT }}
GITHUB_SERVICE_USER: "Microsoft FAST Builds"
GITHUB_SERVICE_EMAIL: "[email protected]"

steps:
- uses: actions/checkout@v2

- name: Add or Update packages
run: sudo yarn global add lerna

- name: Authenticate Git for Pushes
run: |
git config --global user.name "${{ env.GITHUB_SERVICE_USER }}"
git config --global user.email "${{ env.GITHUB_SERVICE_EMAIL }}"
- name: Install package dependencies / prepare workspaces
run: yarn install --frozen-lockfile

- name: Testing Prettier format
run: lerna run prettier:diff

- name: Testing unit tests
run: lerna run test --stream

- name: Publish NPM changed packages
run: |
yarn publish-ci -y -n --no-publish $NPM_PAT
162 changes: 118 additions & 44 deletions .github/workflows/ci-weekly.yml
Original file line number Diff line number Diff line change
@@ -1,74 +1,148 @@
name: CI - FAST Validation

on:
push:
branches:
- master
pull_request:
branches:
- master
schedule:
- cron: 0 7 * * 3


- cron: 0 7 * * 3

jobs:
build_windows:
name: Validate on Windows
runs-on: windows-latest

linux_cross-platform_cross-browser:
runs-on: [ubuntu-latest]

steps:
- uses: actions/checkout@v2

- name: Setup Node.js environment
uses: actions/[email protected]
- 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/[email protected]
id: yarn-cache
with:
node-version: '10'
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install Lerna
run: npm i -g lerna
- name: Install package dependencies
run: yarn install --frozen-lockfile --ignore-scripts

- name: Install package dependencies / prepare workspaces
run: |
yarn install --frozen-lockfile
- name: Prepare workspaces
run: yarn prepare

- name: Ensure Prettier formatting
run: lerna run prettier:diff
- name: Testing Prettier format
run: yarn format:check

- name: Execute unit tests
run: lerna run test --stream
- name: Testing unit tests
run: yarn lerna run test --stream


build_macos:
name: Validate on MacOS

runs-on: macos-latest
- name: Test Playwright
run: |
cd packages/web-components/fast-components
npm install playwright
yarn test-chromium:pw
yarn test-firefox:pw
yarn test-webkit:pw
- 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]

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: Setup Node.js environment
uses: actions/[email protected]
with:
node-version: '10'
- 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: Install Lerna
run: sudo yarn global add lerna
- name: Set up node_modules cache
uses: actions/[email protected]
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install package dependencies / prepare workspaces
run: yarn install --frozen-lockfile
- name: Install package dependencies
run: yarn install --frozen-lockfile --ignore-scripts

- name: Ensure Prettier formatting
run: lerna run prettier:diff
- name: Prepare workspaces
run: yarn prepare

- name: Execute unit tests
run: lerna run test --stream
- name: Testing Prettier format
run: yarn format:check

code_scan:
name: Validate Security
- name: Testing unit tests
run: yarn lerna run test --stream

- name: Test Playwright
run: |
cd packages/web-components/fast-components
npm install playwright
yarn test-chromium:pw
yarn test-firefox:pw
yarn test-webkit:pw
runs-on: ubuntu-latest
macos_cross-platform_cross-browser:
runs-on: [macos-latest]

steps:
- uses: actions/checkout@v2

- name: Initialize CodeQL
uses: github/codeql-action/init@v1
- 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/[email protected]
id: yarn-cache
with:
languages: javascript
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
- name: Install package dependencies
run: yarn install --frozen-lockfile --ignore-scripts

- name: Prepare workspaces
run: yarn prepare

- name: Testing Prettier format
run: yarn format:check

- name: Testing unit tests
run: yarn lerna run test --stream

- name: Test Playwright
run: |
cd packages/web-components/fast-components
npm install playwright
yarn test-chromium:pw
yarn test-firefox:pw
yarn test-webkit:pw
Loading

0 comments on commit 298679b

Please sign in to comment.