feat: the prop direction support four directions: top, bottom, left, … #2922
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
name: Test | |
on: [push, pull_request] | |
jobs: | |
setup: | |
name: Setup | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Cache npm | |
id: cache-npm | |
uses: actions/cache@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Install | |
if: steps.cache-npm.outputs.cache-hit != 'true' | |
run: yarn | |
setup-react-16: | |
name: Setup react@16 | |
runs-on: ubuntu-latest | |
env: | |
REACT: 16 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Cache npm | |
uses: actions/cache@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-react16-${{ hashFiles('**/yarn.lock') }} | |
- name: Install React@16 | |
run: lerna exec --scope zarm -- yarn install-react-16 | |
needs: setup | |
test-cli: | |
name: Testing @zarm-design/cli on Node.js | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [10, 12, 14, 16, 18] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
with: | |
# codecov.io requires a fetch depth > 1. | |
fetch-depth: 2 | |
- name: Restore npm | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Test | |
run: lerna exec --scope @zarm-design/cli -- yarn test --coverage | |
- name: Coverage | |
run: bash <(curl -s https://codecov.io/bash) | |
needs: setup | |
compile-cli: | |
name: Compile @zarm-design/cli | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Restore npm | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Cache @zarm-design/cli | |
uses: actions/cache@v4 | |
with: | |
path: packages/zarm-cli/dist | |
key: ${{ runner.os }}-cli-${{ hashFiles('**/yarn.lock') }} | |
- name: Compile @zarm-design/cli | |
run: lerna exec --scope @zarm-design/cli -- yarn build | |
needs: setup | |
compile-bem: | |
name: Compile @zarm-design/bem | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Restore npm | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/cli | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/zarm-cli/dist | |
key: ${{ runner.os }}-cli-${{ hashFiles('**/yarn.lock') }} | |
- name: Cache @zarm-design/bem | |
uses: actions/cache@v4 | |
with: | |
path: packages/bem/lib | |
key: ${{ runner.os }}-bem-${{ hashFiles('**/yarn.lock') }} | |
- name: Compile @zarm-design/bem | |
run: lerna exec --scope @zarm-design/bem -- yarn build | |
needs: compile-cli | |
compile-icons: | |
name: Compile @zarm-design/icons | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Restore npm | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/cli | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/zarm-cli/dist | |
key: ${{ runner.os }}-cli-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/bem | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/bem/lib | |
key: ${{ runner.os }}-bem-${{ hashFiles('**/yarn.lock') }} | |
- name: Cache @zarm-design/icons | |
uses: actions/cache@v4 | |
with: | |
path: | | |
packages/zarm-icons/lib | |
packages/zarm-icons/es | |
key: ${{ runner.os }}-icons-${{ hashFiles('**/yarn.lock') }} | |
- name: Compile @zarm-design/icons | |
run: lerna exec --scope @zarm-design/icons -- yarn build | |
needs: compile-bem | |
compile: | |
name: Compile zarm in react@17 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Restore npm | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/cli | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/zarm-cli/dist | |
key: ${{ runner.os }}-cli-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/bem | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/bem/lib | |
key: ${{ runner.os }}-bem-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/icons | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
packages/zarm-icons/lib | |
packages/zarm-icons/es | |
key: ${{ runner.os }}-icons-${{ hashFiles('**/yarn.lock') }} | |
- name: Compile | |
run: | | |
lerna exec --scope zarm -- yarn build:es | |
lerna exec --scope zarm -- yarn build:lib | |
needs: compile-icons | |
compile-react-16: | |
name: Compile zarm in react@16 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Restore npm | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/cli | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/zarm-cli/dist | |
key: ${{ runner.os }}-cli-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/bem | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/bem/lib | |
key: ${{ runner.os }}-bem-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/icons | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
packages/zarm-icons/lib | |
packages/zarm-icons/es | |
key: ${{ runner.os }}-icons-${{ hashFiles('**/yarn.lock') }} | |
- name: Compile | |
run: | | |
lerna exec --scope zarm -- yarn build:es | |
lerna exec --scope zarm -- yarn build:lib | |
needs: [setup-react-16, compile-icons] | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Restore npm | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Lint | |
run: yarn lint | |
needs: setup | |
test-react-17: | |
name: Testing zarm in react@17 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
with: | |
# codecov.io requires a fetch depth > 1. | |
fetch-depth: 2 | |
- name: Restore node_modules | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore cli | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/zarm-cli/dist | |
key: ${{ runner.os }}-cli-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/bem | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/bem/lib | |
key: ${{ runner.os }}-bem-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/icons | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
packages/zarm-icons/lib | |
packages/zarm-icons/es | |
key: ${{ runner.os }}-icons-${{ hashFiles('**/yarn.lock') }} | |
- name: Test | |
run: lerna exec --scope zarm -- yarn coverage | |
- name: Coverage | |
run: bash <(curl -s https://codecov.io/bash) | |
needs: compile-icons | |
test-react-17-dist: | |
name: Testing zarm/umd in react@17 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Restore npm | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/cli | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/zarm-cli/dist | |
key: ${{ runner.os }}-cli-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/bem | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/bem/lib | |
key: ${{ runner.os }}-bem-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/icons | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
packages/zarm-icons/lib | |
packages/zarm-icons/es | |
key: ${{ runner.os }}-icons-${{ hashFiles('**/yarn.lock') }} | |
- name: Dist | |
run: lerna exec --scope zarm -- yarn build:umd | |
env: | |
NODE_OPTIONS: --max_old_space_size=4096 | |
- name: Check Dist | |
run: lerna exec --scope zarm -- node ./tests/dekko/dist.test.js | |
- name: Bundlesize | |
run: lerna exec --scope zarm -- npx bundlesize | |
env: | |
BUNDLESIZE_GITHUB_TOKEN: ${{ secrets.BUNDLESIZE_GITHUB_TOKEN }} | |
needs: compile-icons | |
test-react-16: | |
name: Testing zarm in react@16 | |
runs-on: ubuntu-latest | |
env: | |
REACT: 16 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Restore npm | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/cli | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/zarm-cli/dist | |
key: ${{ runner.os }}-cli-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/bem | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/bem/lib | |
key: ${{ runner.os }}-bem-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/icons | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
packages/zarm-icons/lib | |
packages/zarm-icons/es | |
key: ${{ runner.os }}-icons-${{ hashFiles('**/yarn.lock') }} | |
- name: Test | |
run: lerna exec --scope zarm -- yarn test | |
needs: [setup-react-16, compile-icons] | |
test-react-16-umd: | |
name: Testing zarm/umd in react@16 | |
runs-on: ubuntu-latest | |
env: | |
REACT: 16 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@master | |
- name: Restore npm | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
node_modules | |
*/*/node_modules | |
key: ${{ runner.os }}-npm-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/cli | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/zarm-cli/dist | |
key: ${{ runner.os }}-cli-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/bem | |
uses: actions/cache/restore@v4 | |
with: | |
path: packages/bem/lib | |
key: ${{ runner.os }}-bem-${{ hashFiles('**/yarn.lock') }} | |
- name: Restore @zarm-design/icons | |
uses: actions/cache/restore@v4 | |
with: | |
path: | | |
packages/zarm-icons/lib | |
packages/zarm-icons/es | |
key: ${{ runner.os }}-icons-${{ hashFiles('**/yarn.lock') }} | |
- name: Dist | |
run: lerna exec --scope zarm -- yarn build:umd | |
env: | |
NODE_OPTIONS: --max_old_space_size=4096 | |
- name: Check Dist | |
run: lerna exec --scope zarm -- node ./tests/dekko/dist.test.js | |
- name: Bundlesize | |
run: lerna exec --scope zarm -- npx bundlesize | |
env: | |
BUNDLESIZE_GITHUB_TOKEN: ${{ secrets.BUNDLESIZE_GITHUB_TOKEN }} | |
needs: [setup-react-16, compile-icons] |