name: continous-integration on: push: 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 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: "18" - name: 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: Cache node modules uses: actions/cache@v2 env: cache-name: cache-node-modules with: path: ~/.npm key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: Install Dependencies run: cd front && npm install - name: Install Playwright run: cd front && npx playwright install --with-deps - name: Run linter run: cd front && npm run lint - name: Build Storybook run: cd front && npm run build-storybook --quiet - name: Serve Storybook and run tests run: | cd front && npx concurrently -k -s first -n "SB,TEST" -c "magenta,blue" \ "npx http-server storybook-static --silent --port 6006" \ "npm run coverage"