Skip to content

Version Packages

Version Packages #5345

Workflow file for this run

name: PR Checks
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
jobs:
build:
name: Build system packages
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Setup Node.js 22.1
uses: actions/setup-node@v2
with:
node-version: 22.1.x
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Load Yarn cache
uses: actions/cache@v2
id: yarn_cache_id
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn
- name: Node modules cache
uses: actions/cache@v2
id: node_modules_cache_id
with:
path: |
node_modules
*/*/node_modules
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- name: Install Dependencies
if: steps.yarn_cache_id.outputs.cache-hit != 'true' || steps.node_modules_cache_id.outputs.cache-hit != 'true'
run: yarn install --immutable
- name: Build packages
run: yarn build
- name: Store build artifacts
uses: actions/upload-artifact@v3
with:
name: compiled-js-and-types
path: |
packages/components/**/dist/**/*
packages/theme/**/dist/**/*
packages/design-tokens/**/dist/**/*
!packages/components/**/node_modules/**/*
!packages/theme/**/node_modules/**/*
!packages/design-tokens/**/node_modules/**/*
type_check:
name: Type check
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Setup Node.js 22.1
uses: actions/setup-node@v2
with:
node-version: 22.1.x
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Load Yarn cache
uses: actions/cache@v2
id: yarn_cache_id
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn
- name: Node modules cache
uses: actions/cache@v2
id: node_modules_cache_id
with:
path: |
node_modules
*/*/node_modules
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- name: Install Dependencies
if: steps.yarn_cache_id.outputs.cache-hit != 'true' || steps.node_modules_cache_id.outputs.cache-hit != 'true'
run: yarn install --immutable
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: compiled-js-and-types
path: packages/
- name: Run type checker
run: yarn type-check
eslint_prettier:
name: Lint and Prettier
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Setup Node.js 22.1
uses: actions/setup-node@v2
with:
node-version: 22.1.x
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Load Yarn cache
uses: actions/cache@v2
id: yarn_cache_id
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn
- name: Node modules cache
uses: actions/cache@v2
id: node_modules_cache_id
with:
path: |
node_modules
*/*/node_modules
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- name: Install Dependencies
if: steps.yarn_cache_id.outputs.cache-hit != 'true' || steps.node_modules_cache_id.outputs.cache-hit != 'true'
run: yarn install --immutable
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: compiled-js-and-types
path: packages/
- name: Run linter
run: yarn lint
- name: Run prettier
run: yarn prettier-check
test:
name: Test
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Setup Node.js 22.1
uses: actions/setup-node@v2
with:
node-version: 22.1.x
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Load Yarn cache
uses: actions/cache@v2
id: yarn_cache_id
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn
- name: Node modules cache
uses: actions/cache@v2
id: node_modules_cache_id
with:
path: |
node_modules
*/*/node_modules
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- name: Install Dependencies
if: steps.yarn_cache_id.outputs.cache-hit != 'true' || steps.node_modules_cache_id.outputs.cache-hit != 'true'
run: yarn install --immutable
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: compiled-js-and-types
path: packages/
- name: Run tests
run: yarn test:ci
- name: Danger
if: ${{ github.triggering_actor != 'dependabot[bot]' && contains(github.event.pull_request.draft, false) }}
uses: danger/danger-js@9.1.6
env:
GITHUB_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}