Skip to content

sort snapshot re. styled-components-jest #763

sort snapshot re. styled-components-jest

sort snapshot re. styled-components-jest #763

Workflow file for this run

name: Main
on: [push]
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
- name: Restore packages cache
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install --frozen-lockfile --ignore-scripts
- name: Run ESLint
run: yarn lint
unit-test:
name: Unit test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
- name: Restore packages cache
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install --frozen-lockfile --ignore-scripts
- name: Build
run: yarn build
- name: Run unit tests
run: yarn test --maxWorkers=2
env:
NODE_OPTIONS: --max_old_space_size=4096
cypress:
name: Cypress test
needs:
- lint
- unit-test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
# see https://github.com/marketplace/actions/cypress-io
- name: Run Cypress tests
uses: cypress-io/github-action@v2
with:
start: yarn styleguide
command: yarn cy:run
wait-on: http://localhost:6060
env:
NODE_OPTIONS: --max_old_space_size=4096
# NOTE: screenshots will be generated only if the tests failed
# thus we store screenshots only on failures
- name: Upload screenshots
uses: actions/upload-artifact@v3
if: failure()
with:
name: cypress-screenshots
path: cypress/screenshots
# Test run video was always captured, so this action uses "always()" condition
- name: Upload videos
uses: actions/upload-artifact@v3
if: always()
with:
name: cypress-videos
path: cypress/videos
publish:
name: Publish package to npm
if: github.ref == 'refs/heads/master'
needs: cypress
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
- name: Restore packages cache
uses: actions/cache@v3
with:
path: '**/node_modules'
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install --frozen-lockfile --ignore-scripts
- name: Build
run: yarn build
- name: Release
run: yarn semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_PUBLISHING_TOKEN }}