Skip to content

Begin less reliance on async package: Await as we go #497

Begin less reliance on async package: Await as we go

Begin less reliance on async package: Await as we go #497

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- master
jobs:
Test:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-2019
node_version:
- 14
- 16
- 18
node_arch:
- x64
steps:
- uses: actions/checkout@v3.3.0
- name: Install Node
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ matrix.node_version }}
architecture: ${{ matrix.node_arch }}
check-latest: true
- name: Setup Python
# NodeJS v14 can use the python included by the CI
if: ${{ matrix.node_version != 14 }}
uses: actions/setup-python@v4
with:
python-version: '3.12'
- name: Setup Python (NodeJS v14)
# While initially tests would pass with no Python setup, additional testing
# is showing issues with CI included Python versions, so we will install our own
if: ${{ matrix.node_version == 14 }}
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Python Dependencies
# NodeJS v14 doesn't have a newer copy of python, so we don't need to install deps
if: ${{ matrix.node_version != 14 }}
# This is needed for Python 3.12+, since node-gyp requires
# 'distutils', which has been removed
run: python3 -m pip install setuptools
- name: Install dependencies
run: yarn install
- if: "!contains(matrix.os, 'windows')"
name: Run tests 👩🏾‍💻
run: ./bin/npm test
# Q: Why are we using some random test section when the package.json has a test script?
# A: So that we ensure we use the bundled version of node to run our tests
- if: failure()
name: Print Logs for exceptions
run: if [[ -f "./script/log.txt" ]]; then cat ./script/log.txt; else echo "No log file found at ./script/log.txt"; fi
shell: bash
Skip:
if: contains(github.event.head_commit.message, '[skip ci]')
runs-on: ubuntu-latest
steps:
- name: Skip CI 🚫
run: echo skip ci