Skip to content

Merge branch 'main' into searchbar-v1 #773

Merge branch 'main' into searchbar-v1

Merge branch 'main' into searchbar-v1 #773

Workflow file for this run

# GitHub Actions for CI/CD
name: Automated Tests on Git Push
on: push
jobs:
# An automated check that runs the ESLint scan
eslint:
name: Run ESLint scan
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "20.15.0"
cache: "npm"
- name: Install X11 dependencies for robotjs (needed for unit testing on input-mask tests)
run: sudo apt-get install libxtst-dev libpng++-dev xvfb
- name: Install npm dependencies
run: npm ci
- name: Run ESLint
run: npm run eslint
# An automated check that runs all of the accessibility and unit tests
tests:
name: Run Automated tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "20.15.0"
cache: "npm"
- name: Set up JDK 11 for x64
uses: actions/setup-java@v4
with:
java-version: "11"
distribution: "temurin"
architecture: x64
- name: Install Lynx dependency
run: sudo apt install lynx
- name: Install PHP8.1
run: sudo apt install php8.1
- name: Install latest Chrome to match chromedriver package version
# Note: you should see if the version of Chrome matches the latest listed on
# https://mirror.cs.uchicago.edu/google-chrome/pool/main/g/google-chrome-stable/
run: |
apt search '^google-chrome.*' \
&& wget -q -O /tmp/chrome.deb http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_130.0.6723.58-1_amd64.deb \
&& sudo apt install -y /tmp/chrome.deb --allow-downgrades \
&& rm /tmp/chrome.deb
- name: Log system details
run: |
uname &&
echo $OSTYPE &&
which google-chrome &&
google-chrome --version
- name: Install X11 dependencies for robotjs (needed for unit testing on input-mask tests)
run: sudo apt-get install libxtst-dev libpng++-dev xvfb
- name: Install npm dependencies
run: npm ci
- name: Start server and wait for localhost to be available
run: |
npm run start &
sleep 10 &&
curl http://localhost:8888
- name: Run automation tests
run: |
export DISPLAY=:99
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
npm run test