@@ -2,30 +2,65 @@ name: CI Build
22
33on :
44 push :
5- branches : main
5+ branches : [main]
6+
67 pull_request :
78
89jobs :
910 build :
1011 runs-on : ubuntu-latest
1112
13+ env :
14+ CHROMATIC_BRANCH : ${{ github.event.pull_request.head.ref || github.ref_name }}
15+ CHROMATIC_SHA : ${{ github.event.pull_request.head.sha || github.ref }}
16+ CHROMATIC_SLUG : ${{ github.repository }}
17+ CHROMATIC_PROJECT_TOKEN : ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
18+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
19+
1220 steps :
13- - uses : actions/checkout@v4
14- - name : Set up Node.js
15- uses : actions/setup-node@v2
21+ - name : Checkout
22+ uses : actions/checkout@v5
1623 with :
17- node-version-file : .nvmrc
24+ fetch-depth : 0
25+
1826 - name : Enable corepack
1927 run : corepack enable
20- - name : Set Yarn version
21- run : yarn set version stable
28+
29+ - name : Set up Node.js
30+ uses : actions/setup-node@v5
31+ with :
32+ cache : yarn
33+ node-version-file : .nvmrc
34+
2235 - name : Yarn Install
2336 run : yarn
37+
2438 - name : Lint
2539 run : yarn lint
40+
2641 - name : Jest Tests
2742 run : yarn test --coverage
43+
2844 - name : Typescript build
2945 run : yarn build
46+
3047 - name : Storybook build
3148 run : yarn build-storybook
49+
50+ - name : Switch to PR branch
51+ if : ${{ github.event_name == 'pull_request' && env.CHROMATIC_PROJECT_TOKEN }}
52+ uses : actions/checkout@v5
53+ with :
54+ clean : false
55+ fetch-depth : 0
56+ ref : ${{ env.CHROMATIC_BRANCH }}
57+
58+ - name : Storybook deploy
59+ if : ${{ env.CHROMATIC_PROJECT_TOKEN }}
60+ uses : chromaui/action@v13
61+ with :
62+ autoAcceptChanges : main
63+ branchName : ${{ env.CHROMATIC_BRANCH}}
64+ onlyChanged : ${{ github.event_name == 'pull_request' }}
65+ projectToken : ${{ env.CHROMATIC_PROJECT_TOKEN }}
66+ token : ${{ env.GITHUB_TOKEN }}
0 commit comments