Run e2e tests against the prod build #130
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🏗️ Build | ||
on: [push] | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
jobs: | ||
lint: | ||
name: 👖 Lint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: ⬇️ Checkout repo | ||
uses: actions/checkout@v3 | ||
- name: 😻 Setup node | ||
uses: actions/setup-node@v3 | ||
with: | ||
cache: npm | ||
cache-dependency-path: ./package-lock.json | ||
node-version-file: .node-version | ||
- name: 📥 Install deps | ||
run: npm install | ||
- name: 👖 Lint | ||
run: npm run lint | ||
- name: 💄 Prettier | ||
run: npm run prettier | ||
types: | ||
name: 🔎 Types | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: ⬇️ Checkout repo | ||
uses: actions/checkout@v3 | ||
- name: 😻 Setup node | ||
uses: actions/setup-node@v3 | ||
with: | ||
cache: npm | ||
cache-dependency-path: ./package-lock.json | ||
node-version-file: .node-version | ||
- name: 📥 Install deps | ||
run: npm install | ||
- name: 🔎 Type check | ||
run: npm run types | ||
test: | ||
name: ⚡ Test | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: ⬇️ Checkout repo | ||
uses: actions/checkout@v3 | ||
- name: 😻 Setup node | ||
uses: actions/setup-node@v3 | ||
with: | ||
cache: npm | ||
cache-dependency-path: ./package-lock.json | ||
node-version-file: .node-version | ||
- name: 📥 Install deps | ||
run: npm install | ||
- name: ⚡ Run vitest | ||
run: npm run test | ||
playwright: | ||
name: 🧑🎤 Playwright | ||
runs-on: ubuntu-latest | ||
env: | ||
DATABASE_URL: postgresql://postgres:postgres@localhost:5432/test | ||
steps: | ||
- name: ⬇️ Checkout repo | ||
uses: actions/checkout@v3 | ||
- name: 😻 Setup node | ||
uses: actions/setup-node@v3 | ||
with: | ||
cache: npm | ||
cache-dependency-path: ./package-lock.json | ||
node-version-file: .node-version | ||
- name: 📥 Install deps | ||
run: npm install | ||
<<<<<<< HEAD | ||
- name: 🐳 Docker | ||
======= | ||
- name: 🏄 Copy test env vars | ||
run: cp .env.example .env | ||
- name: 🐳 Docker compose | ||
>>>>>>> 0c01751 (Revert "Merge pull request #8 from ahuth/clerk-auth") | ||
run: npm run docker | ||
- name: 🧑🎤 Install Playwright Browsers | ||
run: npx playwright install chromium --with-deps | ||
- name: Build the Remix server | ||
run: npm run build | ||
- name: Run Playwright tests | ||
run: npx playwright test | ||
- uses: actions/upload-artifact@v3 | ||
if: always() | ||
with: | ||
name: playwright-report | ||
path: playwright-report/ | ||
retention-days: 7 | ||
storybook: | ||
name: 📚 Storybook | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: ⬇️ Checkout repo | ||
uses: actions/checkout@v3 | ||
with: | ||
# FIXME: remove fetch-depth if you're not using Chromatic. | ||
fetch-depth: 0 | ||
- name: 😻 Setup node | ||
uses: actions/setup-node@v3 | ||
with: | ||
cache: npm | ||
cache-dependency-path: ./package-lock.json | ||
node-version-file: .node-version | ||
- name: 📥 Install deps | ||
run: npm install | ||
- name: 📚 Build storybook | ||
run: npm run storybook:build | ||
- name: 🧑🎤 Install Playwright Browsers | ||
run: npx playwright install chromium --with-deps | ||
- name: 🤟 Accessibility tests | ||
run: npm run test:axeOnly | ||
# To use Chromatic for visual regression testing: | ||
# 1. Un-comment this section. | ||
# 2. Log in to Chromatic - https://www.chromatic.com/ | ||
# 3. Create a new project - https://www.chromatic.com/docs/setup#sign-up | ||
# 4. Add its unique project token to Github as a `CHROMATIC_PROJECT_TOKEN` secret | ||
# - name: 🌈 Publish to Chromatic | ||
# uses: chromaui/action@v1 | ||
# with: | ||
# autoAcceptChanges: main | ||
# exitOnceUploaded: true | ||
# onlyChanged: true | ||
# projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} | ||
# storybookBuildDir: storybook-static |