Skip to content

Run npm dedupe and update cross-spawn and micromatch #6011

Run npm dedupe and update cross-spawn and micromatch

Run npm dedupe and update cross-spawn and micromatch #6011

Workflow file for this run

name: MarkUs Tests
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
push:
branches:
- master
jobs:
test:
if: github.event.pull_request.draft == false
runs-on: ubuntu-22.04
services:
postgres:
image: postgres:14
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: markus_test
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
redis:
image: redis
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
--entrypoint redis-server
env:
BUNDLE_WITHOUT: development:production:console:unicorn
RAILS_ENV: test
NODE_ENV: test
RSPEC_RENDER_VIEWS: true
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get -yqq install libpq-dev cmake ghostscript pandoc imagemagick libmagickwand-dev git libgl1 tesseract-ocr pandoc
- name: Set up ruby and cache gems
uses: ruby/setup-ruby@v1
with:
ruby-version: ruby-3.3
bundler-cache: true
- name: Set up node and cache packages
uses: actions/setup-node@v4
with:
node-version: 18
cache: npm
- name: Install npm packages
run: npm ci
- name: Install python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Get pip cache dir
id: pip-cache
run: |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
- name: Cache pip
uses: actions/cache@v4
with:
path: ${{ steps.pip-cache.outputs.dir }}
key: ${{ runner.os }}-pip-${{ hashFiles('requirements-jupyter.txt') }}-${{ hashFiles('requirements-scanner.txt') }}-${{ hashFiles('requirements-qr.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install python packages and playwright dependencies
run: |
python3.10 -m venv venv
./venv/bin/pip install -r requirements-jupyter.txt -r requirements-scanner.txt -r requirements-qr.txt
./venv/bin/playwright install chromium
./venv/bin/playwright install-deps chromium
- name: Configure server
run: |
sudo rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/US/Eastern /etc/localtime
sudo sed -ri 's/(rights=")none("\s+pattern="PDF")/\1read\2/' /etc/ImageMagick-6/policy.xml
cp config/database.yml.ci config/database.yml
- name: Build assets
run: |
bundle exec rake javascript:build
bundle exec rake css:build
- name: Set up database
run: bundle exec rails db:migrate
- name: Install chromedriver
uses: nanasess/setup-chromedriver@v2
- name: Run chromedriver
run: chromedriver --port=9515 --whitelisted-ips &
- name: Run rspec tests
run: bundle exec rspec
env:
MARKUS__PYTHON: ./venv/bin/python3
- name: Run rspec system tests
run: bundle exec rspec spec/system
env:
MARKUS__PYTHON: ./venv/bin/python3
- name: Coveralls Parallel (rspec)
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: rspec
parallel: true
file: coverage/lcov.info
- name: Run jest tests
run: npm run test-cov
- name: Coveralls Parallel (jest)
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: jest
parallel: true
file: coverage/lcov.info
finish:
needs: test
if: github.event.pull_request.draft == false
runs-on: ubuntu-22.04
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true
carryforward: "rspec,jest"