Reputation: 9678
I currently have a github action like this in a Create React App
name: Percy
on: [push]
jobs:
percy:
name: Visual Testing
runs-on: ubuntu-16.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Cypress run
uses: cypress-io/github-action@v2
env:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
with:
start: yarn start
wait-on: 'http://localhost:3000'
command-prefix: 'percy exec -- npx'
But I would like to yarn build
(instead of yarn start
) and serve
these results for my tests (cypress, etc) - so I see how the tests goes on something that has gone through webpack
.
I have tried a lot of different things (like start: yarn build && yarn serve -s build -p 3000
) but have come to the conclusion that I need some guidance.
...
$ react-scripts build '&&' yarn serve -s build -p 3000
Creating an optimized production build...
Compiled successfully.
File sizes after gzip:
49.3 KB build/static/js/2.98954ae7.chunk.js
3.01 KB build/static/js/main.9bc31c1d.chunk.js
1.13 KB build/static/css/main.9e43f7ef.chunk.css
818 B build/static/css/2.a2fbc952.chunk.css
779 B build/static/js/runtime-main.fe4fcbcb.js
The project was built assuming it is hosted at /.
You can control this with the homepage field in your package.json.
The build folder is ready to be deployed.
You may serve it with a static server:
yarn global add serve
serve -s build
Find out more about deployment here:
bit.ly/CRA-deploy
Done in 10.36s.
http://localhost:3000 timed out on retry 61 of 2
Error: connect ECONNREFUSED 127.0.0.1:3000
Upvotes: 2
Views: 852
Reputation: 11915
You can use the build
parameter to build the app using yarn build
and the start
parameter to start the server using npx serve
.
- name: Cypress run
uses: cypress-io/github-action@v2
env:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
with:
build: yarn build
start: npx serve -s build -l 3000
wait-on: 'http://localhost:3000'
command-prefix: 'percy exec -- npx'
Upvotes: 3