Release next (Monorepo, React 18, ..) #3848
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
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: Node.js CI | |
on: [pull_request] | |
env: | |
TOKEN_FLOW_APP_URL: ${{ secrets.TOKEN_FLOW_APP_URL }} | |
LICENSE_API_URL: ${{ secrets.LICENSE_API_URL }} | |
jobs: | |
# install dependencies and store artifact | |
package: | |
name: Create Package | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18.x" | |
cache: yarn | |
cache-dependency-path: "**/yarn.lock" | |
- name: Install dependencies | |
run: yarn --frozen-lockfile --immutable | |
# 5: Build package | |
- name: Build Package | |
run: npm run build | |
# 6: Store artifact | |
- name: Store Artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: package | |
path: | | |
packages/tokens-studio-for-figma/dist | |
packages/tokens-studio-for-figma/manifest.json | |
# install dependencies and run test command | |
test: | |
name: Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18.x" | |
cache: yarn | |
cache-dependency-path: "**/yarn.lock" | |
- name: Install dependencies | |
run: yarn --frozen-lockfile --immutable | |
# 4: Run tests | |
- name: Run test command | |
run: npm run test | |
coverage: | |
name: Test coverage | |
continue-on-error: true | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18.x" | |
cache: yarn | |
cache-dependency-path: "**/yarn.lock" | |
- name: Install dependencies | |
run: yarn --frozen-lockfile --immutable | |
- name: Run test coverage report | |
id: testCoverage | |
uses: anuraag016/Jest-Coverage-Diff@master | |
with: | |
fullCoverageDiff: false | |
runCommand: "cd packages/tokens-studio-for-figma && npm run test:coverage:ci" | |
afterSwitchCommand: yarn | |
useSameComment: true | |
test-transform: | |
name: Transformer Tests | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18.x" | |
cache: yarn | |
cache-dependency-path: "**/yarn.lock" | |
- name: Install dependencies | |
run: yarn --frozen-lockfile --immutable | |
# 4: Build package | |
- name: build:transform | |
working-directory: packages/tokens-studio-for-figma | |
run: npm run build-transform | |
# 5: Install dependencies | |
- name: Install dependencies - transformer | |
working-directory: packages/tokens-studio-for-figma/token-transformer | |
run: npm ci | |
# 6: Run tests | |
- name: Run test command | |
working-directory: packages/tokens-studio-for-figma/token-transformer | |
run: npm run test | |
cypress-run: | |
name: Cypress | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18.x" | |
cache: yarn | |
cache-dependency-path: "**/yarn.lock" | |
- name: Install dependencies | |
run: yarn --frozen-lockfile --immutable | |
- name: Cypress run | |
uses: cypress-io/github-action@v6 | |
with: | |
working-directory: ./packages/tokens-studio-for-figma | |
build: npm run build:cy | |
start: npm run serve | |
performance: | |
name: Performance | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18.x" | |
cache: yarn | |
cache-dependency-path: "**/yarn.lock" | |
- name: Install dependencies | |
run: yarn --frozen-lockfile --immutable | |
# 4: Build package | |
- name: Run benchmark | |
working-directory: packages/tokens-studio-for-figma | |
run: npm run benchmark:build && npm run benchmark:run |