On this very site this deployment strategy is used with GitHub actions:

      - name: uat
        run: |
          npm start &
          npx cypress run

As you can see, I just start the development server anad then run the cypress tests with npx.

You can also use the official Cypress GitHub Action, like this:

name: christianfei-devblog build
on: [push]
jobs:
  build_deploy:
    runs-on: ubuntu-18.04
    steps:
      - uses: actions/[email protected]
        with:
          ref: refs/heads/master
      - name: install
        run: |
          npm install
      - name: build
        run: |
          npm run build
      - name: start server
        run: |
           npm start &
      - name: uat
        uses: cypress-io/[email protected]

Easy as that. If you want to take a closer look at the workflow, check this out

ffmpeg-layer.png