Skip to content

Changed mode selector #365

Changed mode selector

Changed mode selector #365

Workflow file for this run

name: Build
on:
push:
branches: [ "dev", "master", "release/mui-v6" ]
pull_request:
branches: [ "dev", "master", "release/mui-v6" ]
pull_request_target:
types:
- opened
branches:
- '*/*'
permissions:
pull-requests: write
contents: read
jobs:
prettier_lint:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'yarn'
- run: yarn install:dependencies
- run: yarn prettier
working-directory: components
- run: yarn prettier
working-directory: docs
- run: yarn lint
working-directory: components
- run: yarn lint
working-directory: docs
unit_test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'yarn'
- run: yarn install:dependencies
- run: yarn test --coverage
- name: Upload to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./components/coverage/
files: clover.xml
flags: unittests
name: codecov-report
verbose: true
build_library:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'yarn'
- run: yarn --immutable
working-directory: components
- run: yarn build
- name: Save build
uses: actions/upload-artifact@v3
with:
name: dist
if-no-files-found: error
path: dist
test_artifacts:
runs-on: ubuntu-latest
needs: build_library
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download the dist folder
uses: actions/download-artifact@v3
with:
name: dist
path: dist
- run: yarn test:artifacts
npm_pack:
runs-on: ubuntu-latest
needs: build_library
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download the dist folder
uses: actions/download-artifact@v3
with:
name: dist
path: dist
- run: npm pack
working-directory: dist
- name: Save npm pack
uses: actions/upload-artifact@v3
with:
name: tarball
if-no-files-found: error
path: dist
build_showcase:
runs-on: ubuntu-latest
needs: npm_pack
strategy:
matrix:
node-version: [20.x]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'yarn'
- run: git submodule init && git submodule update
- run: yarn --immutable
working-directory: demos/showcase
- name: Download tarball
uses: actions/download-artifact@v3
with:
name: tarball
path: tarball
- run: yarn --immutable
working-directory: demos/showcase
- run: |
PACKAGED_VERSION=`node -p "require('../../tarball/package.json').version"`
yarn add ../../tarball/brightlayer-ui-react-components-$PACKAGED_VERSION.tgz
working-directory: demos/showcase
- run: yarn
working-directory: demos/showcase
- run: yarn build
working-directory: demos/showcase
build_reactdev:
runs-on: ubuntu-latest
needs: npm_pack
strategy:
matrix:
node-version: [20.x]
env:
REACT_APP_BRANCH: ${{ github.ref == 'refs/heads/master' && 'master' || 'dev' }}
PUBLIC_URL: ${{ github.ref == 'refs/heads/master' && '/react' || '/react-dev' }}
REACT_APP_GAID: ${{ github.ref == 'refs/heads/master' && 'G-Y2TXKYRFM0' || 'G-JY7JTQ87MB' }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'yarn'
- run: yarn --immutable
working-directory: docs
- name: Download tarball
uses: actions/download-artifact@v3
with:
name: tarball
path: tarball
- run: yarn --immutable
working-directory: docs
- run: |
PACKAGED_VERSION=`node -p "require('../tarball/package.json').version"`
yarn add ../tarball/brightlayer-ui-react-components-$PACKAGED_VERSION.tgz
working-directory: docs
- run: yarn
working-directory: docs
- run: yarn build
working-directory: docs
- name: Save build
uses: actions/upload-artifact@v3
with:
name: build
if-no-files-found: error
path: docs/build
deploy_react_doc_dev:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/dev' }}
needs: build_reactdev
env:
DEV_DEPLOY_TOKEN: ${{secrets.DEV_DEPLOY_TOKEN}}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download build
uses: actions/download-artifact@v3
with:
name: build
path: docs/build
- name: deploy
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: docs/build
token: ${{env.DEV_DEPLOY_TOKEN}}
repository-name: brightlayer-ui-components/react-dev
branch: master
git-config-name: Brightlayer UI Agent
git-config-email: brightlayer-ui@eaton.com
commit-message: "Automated deployment to GitHub Pages ${{github.sha}}"
deploy_react_doc_prod:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
needs: build_reactdev
env:
DEV_DEPLOY_TOKEN: ${{secrets.DEV_DEPLOY_TOKEN}}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download build
uses: actions/download-artifact@v3
with:
name: build
path: docs/build
- name: deploy
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: docs/build
token: ${{env.DEV_DEPLOY_TOKEN}}
repository-name: brightlayer-ui-components/react
branch: master
git-config-name: Brightlayer UI Agent
git-config-email: brightlayer-ui@eaton.com
commit-message: "Automated deployment to GitHub Pages ${{github.sha}}"
publish:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev') }}
needs: build_library
strategy:
matrix:
node-version: [20.x]
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
BRANCH: ${{ github.ref == 'refs/heads/master' && 'master' || 'dev' }}
steps:
- uses: actions/checkout@v4
- name: Download dist
uses: actions/download-artifact@v3
with:
name: dist
path: dist
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: 'https://registry.npmjs.org'
- run: yarn --immutable
- run: npm run publish:package -- -b ${{env.BRANCH}}