name: CI Front on: push: branches: - main pull_request_target: jobs: front-test: runs-on: ubuntu-latest env: REACT_APP_API_URL: http://127.0.0.1:3000/graphql REACT_APP_AUTH_URL: http://127.0.0.1:3000/auth steps: - uses: actions/checkout@v3 with: ref: "refs/pull/${{ github.event.number }}/merge" - name: Check for redundant workflow run run: | HEAD_SHA=$(git rev-parse HEAD^) if [ "$HEAD_SHA" != "${{ github.event.pull_request.head.sha }}" ]; then echo "HEAD SHA and Pull Request HEAD SHA do not match, cancelling run" echo "GitHub has scheduled a newer workflow run already." exit 1 fi - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: "18" - name: Front / Write .env run: | cd front touch .env echo "REACT_APP_API_URL: $REACT_APP_API_URL" >> .env echo "REACT_APP_AUTH_URL: $REACT_APP_AUTH_URL" >> .env - name: Front / Install Dependencies run: cd front && yarn - name: Front / Install Playwright run: cd front && npx playwright install --with-deps - name: Front / Run linter run: cd front && yarn lint - name: Front / Build Storybook run: cd front && yarn build-storybook --quiet - name: Front / Run storybook tests run: | cd front && npx concurrently -k -s first -n "SB,TEST" -c "magenta,blue" \ "npx http-server storybook-static --silent --port 6006" \ "yarn coverage-storybook" - name: Front / Run jest tests run: | cd front && yarn test