Skip to content

Bump path-to-regexp and express in /rule-server #4021

Bump path-to-regexp and express in /rule-server

Bump path-to-regexp and express in /rule-server #4021

Workflow file for this run

# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: All branch testing
on: [ pull_request, merge_group ]
jobs:
###############################################################################
# Engine test
####
accessibility-checker-engine-test:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- run: curl --insecure https://localhost:9445/tools/api/pub/meter/v2
- run: google-chrome --version
- run: npm install
working-directory: accessibility-checker-engine
- run: npx karma start karmaaction.conf.js --single-run --watch=false
working-directory: accessibility-checker-engine
- run: npx mocha ./test/mocha/help/help.test.js
working-directory: accessibility-checker-engine
- name: Upload rule listing
uses: actions/upload-artifact@v4
with:
name: Rule listing
path: accessibility-checker-engine/dist/help/rules.html
act-results:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: accessibility-checker-engine
- run: npm install
working-directory: report-react
- run: npm run build:all
working-directory: accessibility-checker-engine
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- run: npm install
working-directory: accessibility-checker
- run: npm run build
working-directory: accessibility-checker
- run: npm test
working-directory: accessibility-checker/test-act-w3
- name: Upload packed extension
uses: actions/upload-artifact@v4
with:
name: ACT Text Results
path: accessibility-checker/test-act-w3/act-report-v2.txt
###############################################################################
# Node basic test Windows
####
accessibility-checker-test-basic-windows:
runs-on: windows-2022
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: cmd /c "START /b node main.js"
working-directory: rule-server/dist
env:
__NODB__: true
- run: ping 127.0.0.1 -n 6 > nul
- run: netstat -o -n -a | findstr 9445
# - run: curl -X GET "http://localhost:9445/rules/archives.json"
- run: sleep 10
- run: npm install
working-directory: accessibility-checker-engine
- run: npm install
working-directory: report-react
- run: npm install
working-directory: accessibility-checker
- run: npm run build
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.Baselines/*.test.js
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.Functions.Defined/*.test.js
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.ObjectStructure/*.test.js
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.Scans/aChecker.assertionCompliance.test.js
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.Scans/aChecker.Content.Puppeteer.test.js
working-directory: accessibility-checker
###############################################################################
# Node basic test
####
accessibility-checker-test-basic:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [14.x, 18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- run: npm install
working-directory: accessibility-checker-engine
- run: npm install
working-directory: report-react
- run: npm install
working-directory: accessibility-checker
- run: npm run build
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.Baselines/*.test.js
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.Functions.Defined/*.test.js
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.ObjectStructure/*.test.js
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.Scans/aChecker.assertionCompliance.test.js
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.Scans/aChecker.Content.Puppeteer.test.js
working-directory: accessibility-checker
###############################################################################
# Node basic test
####
accessibility-checker-test-basic2:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- run: npm install
working-directory: accessibility-checker-engine
- run: npm install
working-directory: report-react
- run: npm install
working-directory: accessibility-checker
- run: npm run build
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.Scans/aChecker.Content.test.js
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Fast/aChecker.Scans/aChecker.URL.test.js
working-directory: accessibility-checker
###############################################################################
# Node Selenium test
####
accessibility-checker-test-selenium:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- run: npm install
working-directory: accessibility-checker-engine
- run: npm install
working-directory: report-react
- run: npm install
working-directory: accessibility-checker
- run: npm run build
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Slow1/aChecker.Scans/**/*.test.js
working-directory: accessibility-checker
- run: npx mocha -R dot test/mocha/aChecker.Slow1/aChecker.ObjectStructure/**/*.test.js
working-directory: accessibility-checker
###############################################################################
# Node Playwright test
####
accessibility-checker-test-playwright:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- run: npm install
working-directory: accessibility-checker-engine
- run: npm install
working-directory: report-react
- run: npm install
working-directory: accessibility-checker
- run: npx playwright install chromium
working-directory: accessibility-checker
- run: npm run build
working-directory: accessibility-checker
- run: npx playwright test test/mocha/aChecker.Playwright/aChecker.Scans/*.mjs
working-directory: accessibility-checker
###############################################################################
# Node WebdriverIO test
####
accessibility-checker-test-wdio:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Latest Chrome
uses: browser-actions/setup-chrome@v1
with:
chrome-version: latest
id: setup-chrome
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- run: npm install
working-directory: accessibility-checker-engine
- run: npm install
working-directory: report-react
- run: npm install
working-directory: accessibility-checker
- run: npm run build
working-directory: accessibility-checker
- run: npm install
working-directory: accessibility-checker/test/webdriverio
- run: npm run wdio
working-directory: accessibility-checker/test/webdriverio
###############################################################################
# Java test
####
java-accessibility-checker-selenium-test:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v4
with:
distribution: 'semeru' # See 'Supported distributions' for available options
java-version: '17'
- name: Latest Chrome
uses: browser-actions/setup-chrome@v1
with:
chrome-version: latest
install-chromedriver: true
id: setup-chrome
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- name: Test package
run: mvn --batch-mode test -Dtest="AccessibilityCheckerSeleniumTest"
working-directory: java-accessibility-checker
env:
chromedriverpath: ${{ steps.setup-chrome.outputs.chromedriver-path }}
chromebinpath: ${{ steps.setup-chrome.outputs.chrome-path }}
java-accessibility-checker-playwright-test:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v4
with:
distribution: 'semeru' # See 'Supported distributions' for available options
java-version: '17'
- name: Latest Chrome
uses: browser-actions/setup-chrome@v1
with:
chrome-version: latest
install-chromedriver: true
id: setup-chrome
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- name: Test package
run: mvn --batch-mode test -Dtest="AccessibilityCheckerPlaywrightTest"
working-directory: java-accessibility-checker
env:
chromedriverpath: ${{ steps.setup-chrome.outputs.chromedriver-path }}
chromebinpath: ${{ steps.setup-chrome.outputs.chrome-path }}
###############################################################################
# Karma Tests
####
karma-accessibility-checker-test:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
# test-file: [karma.conf1.js, karma.conf1b.js, karma.conf2.js, karma.conf2b.js, karma.conf3.js] // conf1 and conf2 fail a lot
test-file: [karma.conf1b.js, karma.conf2b.js, karma.conf3.js]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- run: npm install
working-directory: accessibility-checker-engine
- run: npm install
working-directory: report-react
- run: npm install
working-directory: common/module
- run: npm install
working-directory: karma-accessibility-checker
- run: npm run setup
working-directory: karma-accessibility-checker
- run: sleep 10
- run: npm run build
working-directory: karma-accessibility-checker
- run: npm run installPlugin
working-directory: karma-accessibility-checker
- name: Test using configuration ${{ matrix.test-file }}
run: npx karma start ${{ matrix.test-file }};
working-directory: karma-accessibility-checker
###############################################################################
# Cypress test
####
cypress-checker-test-basic:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: node main.js &
working-directory: rule-server/dist
- run: sleep 10
working-directory: rule-server/dist
- run: npm install
working-directory: accessibility-checker-engine
- run: npm install
working-directory: report-react
- run: npm install
working-directory: common/module
- run: npm install
working-directory: cypress-accessibility-checker
- run: npm run build:common
working-directory: cypress-accessibility-checker
- run: npm run test:start-http &
working-directory: cypress-accessibility-checker
- run: npx cypress run
working-directory: cypress-accessibility-checker/test
###############################################################################
# Extension Build verification and test
####
extension-test:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: report-react
- run: npm install
working-directory: accessibility-checker-extension
- run: npm install
working-directory: accessibility-checker-extension/test
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: sed -i'.old' -e "s/[\"|']use strict[\"|']//g" ./exceljs.js
working-directory: accessibility-checker-extension/node_modules/exceljs/dist
- run: sed -i'.old' -e "s/[\"|']use strict[\"|']//g" ./exceljs.min.js
working-directory: accessibility-checker-extension/node_modules/exceljs/dist
- run: cp -f ./manifest_Chrome.json ./src/manifest.json
working-directory: accessibility-checker-extension
- run: npm run package:browser
working-directory: accessibility-checker-extension
- name: UI Tests
run: npm test
working-directory: accessibility-checker-extension/test
- name: Upload packed extension
uses: actions/upload-artifact@v4
with:
name: accessibility-checker-extension for Chrome
path: accessibility-checker-extension/package/accessibility-checker-extension.zip
- run: cp -f ./manifest_Firefox.json ./src/manifest.json
working-directory: accessibility-checker-extension
- run: npm run package:browser
working-directory: accessibility-checker-extension
- name: Upload packed extension
uses: actions/upload-artifact@v4
with:
name: accessibility-checker-extension for Firefox
path: accessibility-checker-extension/package/accessibility-checker-extension.zip
rule-deploy:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: npm install
working-directory: rule-server
- run: npm run build
working-directory: rule-server
- run: gitactions/publish/rules.sh
env:
BLUEMIX_USERID: apikey
BLUEMIX_PASS: ${{ secrets.BLUEMIX_PASS }}
CLOUD_PWD: ${{ secrets.CLOUD_PWD }}
TRAVIS_BRANCH: sandbox