Skip to content

Commit

Permalink
Update Workflows (#788)
Browse files Browse the repository at this point in the history
* update_workflows

* update publish workflow

* Remove chromatic from package.json

* now skip docs build in chromatic workflow

* Revert "Remove chromatic from package.json"

This reverts commit 444208f.

* turbosnap test

* Update CI workflow to prevent build duplication. build_doc used to rebuild all the components, after they were just built

* Revert "turbosnap test"

This reverts commit 54c7ca4.

* add build step to release step

* change the install step so it doesn't create a new lockfile when releasing
  • Loading branch information
alexasselin008 authored Apr 15, 2024
1 parent 6e991df commit fa57ac7
Show file tree
Hide file tree
Showing 4 changed files with 123 additions and 221 deletions.
84 changes: 53 additions & 31 deletions .github/workflows/chromatic.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,59 @@
name: 'Chromatic'
# Chromatic Main and Active PRs only
# Trigger example found here: https://github.com/chromaui/chromatic-cli/blob/main/.github/workflows/chromatic-main-and-prs.yml

name: Chromatic

on:
push:
paths:
- 'packages/**'
branches-ignore:
branches:
- main
- dependabot/*
- changeset-release/*
pull_request:
# Workflows will not run on pull_request activity if the pull request has a merge conflict. The merge conflict must be resolved first.
# By default, a workflow only runs when a pull_request event's activity type is opened, synchronize, or reopened.
branches-ignore:
- changeset-release/*
- dependabot/*

jobs:
chromatic-deployment:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Use Node.js 18.x
uses: actions/setup-node@v2
with:
node-version: '18.x'
- name: Cache Node.js modules
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock')}}
restore-keys: |
${{ runner.OS }}-node-
${{ runner.OS }}-
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Publish to Chromatic
uses: chromaui/action@v1
with:
token: ${{ secrets.CHROMATIC_TOKEN }}
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
chromatic-deployment:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout Commit
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version-file: ".nvmrc"

- name: Cache Node.js modules
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock')}}
restore-keys: |
${{ runner.OS }}-node-
${{ runner.OS }}-
- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Run build Shared components
run: yarn build:shared

- name: Run build Components
run: yarn build:components

- name: Publish to Chromatic
uses: chromaui/action@v1
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
traceChanged: true
onlyChanged: true # TurboSnap
exitOnceUploaded: true # The PRs will be marked as success/failure based on the Chromatic build status
skip: ${{ github.event.pull_request.draft == true }}
77 changes: 28 additions & 49 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,110 +11,89 @@ concurrency:
jobs:
install-cache:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ 18 ]
steps:
- name: Checkout Commit
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node }}

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
node-version-file: ".nvmrc"

- name: Cache yarn dependencies
uses: actions/cache@v3
id: cache-dependencies
with:
path: node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.ox }}-yarn-
${{ runner.os }}-yarn-
- name: Install Dependencies
if: steps.cache-dependencies.outputs.cache-hit != 'true'
run: |
yarn install --force --non-interactive
yarn install --frozen-lockfile
lint:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ 18 ]
needs: install-cache
steps:
- name: Checkout Commit
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node }}

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
node-version-file: ".nvmrc"

- name: Restore yarn dependencies
uses: actions/cache@v3
id: cache-dependencies
with:
path: node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.ox }}-yarn-
${{ runner.os }}-yarn-
- name: Run Eslint
run: yarn lint

- name: Run Stylelint
run: yarn lint:style

build_and_test_components:
build_and_test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ 18 ]
needs: install-cache
steps:
- name: Checkout Commit
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node }}

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
node-version-file: ".nvmrc"

- name: Restore yarn dependencies
uses: actions/cache@v3
id: cache-dependencies
with:
path: node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.ox }}-yarn-
- name: Run build Shared components
run: yarn build:shared
- name: Run build Components
run: yarn build:components
${{ runner.os }}-yarn-
- name: Run build
run: yarn build

- name: Run tests
run: yarn test

build_doc:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ 18 ]
needs: [install-cache, build_and_test_components]
steps:
- name: Checkout Commit
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: Restore yarn dependencies
uses: actions/cache@v3
id: cache-dependencies
with:
path: node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.ox }}-yarn-
- name: Run build Doc
run: yarn doc:build
- name: Run Documentation Storybook
run: yarn doc:build-sb

slack-notification:
runs-on: ubuntu-latest
needs: [build_and_test_components, build_doc, lint]
needs: [build_and_test, lint]
steps:
- name: Send message to Slack
id: slack
Expand All @@ -134,4 +113,4 @@ jobs:
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
Loading

0 comments on commit fa57ac7

Please sign in to comment.