Match files to master #678
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
# 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 er.124 to match chromedriver package version | |
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_128.0.6613.119-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 |