From 13598f5faa7f46624f2068d3c3c9b3a52bd65af0 Mon Sep 17 00:00:00 2001 From: "M. Zulqarnain" Date: Tue, 8 Jun 2021 17:22:07 +0500 Subject: [PATCH] BOM-2562: Move JS Tests To Github Action (#27744) * feat: JS tests on Github Action --- .github/workflows/js-tests.yml | 83 ++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/js-tests.yml diff --git a/.github/workflows/js-tests.yml b/.github/workflows/js-tests.yml new file mode 100644 index 0000000000..4cf9b64556 --- /dev/null +++ b/.github/workflows/js-tests.yml @@ -0,0 +1,83 @@ +name: CI + +on: + pull_request: + branches: + - master + push: + branches: + - master + +jobs: + run_tests: + name: JS + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ ubuntu-20.04 ] + node-version: [ 12 ] + python-version: [ 3.8 ] + + steps: + + - uses: actions/checkout@v2 + - name: Fetch master to compare coverage + run: git fetch --depth=1 origin master + + - name: Setup Node + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} + + - name: Install Firefox 61.0 + run: | + sudo apt-get purge firefox + wget "https://ftp.mozilla.org/pub/firefox/releases/61.0/linux-x86_64/en-US/firefox-61.0.tar.bz2" + tar -xjf firefox-61.0.tar.bz2 + sudo mv firefox /opt/firefox + sudo ln -s /opt/firefox/firefox /usr/bin/firefox + + - name: Install Required System Packages + run: sudo apt-get update && sudo apt-get install libxmlsec1-dev ubuntu-restricted-extras xvfb + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Get pip cache dir + id: pip-cache-dir + run: | + echo "::set-output name=dir::$(pip cache dir)" + + - name: Cache pip dependencies + id: cache-dependencies + uses: actions/cache@v2 + with: + path: ${{ steps.pip-cache-dir.outputs.dir }} + key: ${{ runner.os }}-pip-${{ hashFiles('requirements/edx/base.txt') }} + restore-keys: ${{ runner.os }}-pip- + + - name: Install Required Python Dependencies + run: | + pip install -r requirements/pip.txt + pip install -r requirements/edx/base.txt + + - uses: c-hive/gha-npm-cache@v1 + - name: Run JS Tests + env: + TEST_SUITE: js-unit + SCRIPT_TO_RUN: ./scripts/generic-ci-tests.sh + run: | + npm install -g jest + xvfb-run --auto-servernum ./scripts/all-tests.sh + + - name: Save Job Artifacts + uses: actions/upload-artifact@v2 + with: + name: Build-Artifacts + path: | + reports/**/* + test_root/log/*.png + test_root/log/*.log + **/TEST-*.xml