Skip to content

feat: add checkbox indeterminate state #693

feat: add checkbox indeterminate state

feat: add checkbox indeterminate state #693

Workflow file for this run

name: Pull Request Workflow
on:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
concurrency:
# Here the group is defined by the head_ref of the PR
group: ${{ github.head_ref }}-checks
# Here we specify that we'll cancel any "in progress" workflow of the same group. Thus if we push, ammend a commit and push
# again the previous workflow will be cancelled, thus saving us github action build minutes and avoid any conflicts
cancel-in-progress: true
jobs:
setup:
runs-on: ubuntu-latest
outputs:
nvmrc: ${{ steps.nvm.outputs.nvmrc }}
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Read .nvmrc
id: nvm
run: echo ::set-output name=nvmrc::$(cat .nvmrc)
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: ${{ steps.nvm.outputs.nvmrc }}
cache: npm
- name: Install πŸ”§
run: npm ci --ignore-scripts
lint:
needs: [setup]
runs-on: ubuntu-latest
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: ${{ needs.setup.outputs.nvmrc }}
cache: npm
- name: Restore npm installs and Lerna setup
run: npm ci
- name: Validate all commits from PR
run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
- name: Run linter
run: npm run lint
test:
needs: [setup]
runs-on: ubuntu-latest
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: ${{ needs.setup.outputs.nvmrc }}
cache: npm
- name: Restore npm installs and Lerna setup
run: npm ci
- name: Run Tests
run: npm test
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v1
if: always()
with:
files: junit/**/*.xml
release:
runs-on: ubuntu-latest
needs: [test, lint]
if: github.ref != 'refs/heads/next'
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Read .nvmrc
id: nvm
run: echo ::set-output name=nvmrc::$(cat .nvmrc)
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: ${{ steps.nvm.outputs.nvmrc }}
- name: Install πŸ”§
run: npm ci
- name: Create Canary Release ✨
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }}
run: npx auto shipit
chromatic:
runs-on: ubuntu-latest
needs: [test, lint]
if: github.event.pull_request.draft == false
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
- name: Read .nvmrc
id: nvm
run: echo ::set-output name=nvmrc::$(cat .nvmrc)
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: ${{ steps.nvm.outputs.nvmrc }}
- name: Install πŸ”§
run: npm ci
- name: Build and Publish to Chromatic
uses: chromaui/action@latest
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
buildScriptName: 'build'
workingDir: system/stories
env:
NODE_OPTIONS: --max-old-space-size=16384