From 934ff7cf6cc75445d01e0eed1438bba3b3ffc700 Mon Sep 17 00:00:00 2001 From: Mary Marchini Date: Sat, 16 Oct 2021 16:12:19 -0700 Subject: [PATCH] feat!: fix CI tests * Disable nightly builds until we fix setup-node to support mirrors again * Add matrix of Ubuntu versions (18.04, 20.04) * Add matrix of llvm versions (8, 9) * Versions before 8 don't pass frame-test tests * Drop support for v14.x * New version of V8 broke llnode, therefore we don't support v14 anymore. Reflect this on README and CI --- .github/workflows/push.yml | 34 ++++++++++++++++++++-------------- README.md | 12 ++++++------ 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 18b31944..1bfea8ad 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -18,39 +18,44 @@ jobs: node: - version: 10.x - version: 12.x - - version: 14.x - - version: 15.x - mirror: https://nodejs.org/download/nightly - - version: 15.x - mirror: https://nodejs.org/download/v8-canary + # - version: 14.x + # TODO(mmarchini): re-enable once mirror is supported on setup-node + # - version: 15.x + # mirror: https://nodejs.org/download/nightly + # - version: 15.x + # mirror: https://nodejs.org/download/v8-canary # os: [ubuntu-latest, macos-latest] # Temporarily disable MacOS until # https://github.com/nodejs/node/issues/32981 is fixed - os: [ubuntu-latest] + # TODO(mmarchini): test on 20.04 (need different lldb version) + os: [ubuntu-18.04, ubuntu-20.04] + llvm: [ 8, 9 ] steps: - uses: actions/checkout@v1 - name: Use Node.js ${{ matrix.node.version }} ${{ matrix.node.mirror }} - uses: mmarchini/setup-node@mirror + uses: actions/setup-node@v2 with: node-version: ${{ matrix.node.version }} - node-mirror: ${{ matrix.node.mirror }} + # TODO(mmarchini): re-enable once mirror is supported on setup-node + # node-mirror: ${{ matrix.node.mirror }} - name: install dependencies Linux - if: matrix.os == 'ubuntu-latest' + if: startsWith(matrix.os, 'ubuntu-') run: | sudo apt-get -qq update - sudo apt-get install lldb-3.9 liblldb-3.9-dev lcov gdb -y + sudo apt-get install lldb-${{ matrix.llvm }} liblldb-${{ matrix.llvm }}-dev lcov gdb -y + sudo ln -s $(which lldb-${{ matrix.llvm }}) /usr/bin/lldb - name: npm install run: | npm install --llnode_build_addon=true --llnode_coverage=true - name: run tests - run: TEST_LLDB_BINARY=`which lldb-3.9` npm run nyc-test-all + run: TEST_LLDB_BINARY=`which lldb-${{ matrix.llvm }}` npm run nyc-test-all if: matrix.node.version != '15.x' - name: run tests (nightly) - run: TEST_LLDB_BINARY=`which lldb-3.9` npm run nyc-test-all + run: TEST_LLDB_BINARY=`which lldb-${{ matrix.llvm }}` npm run nyc-test-all if: matrix.node.version == '15.x' continue-on-error: true - name: prepare coverage - if: matrix.os == 'ubuntu-latest' && matrix.node.version != '15.x' + if: startsWith(matrix.os, 'ubuntu-') && matrix.node.version != '15.x' run: | npm run coverage cat ./coverage-js.info > ./coverage.info @@ -70,6 +75,7 @@ jobs: - name: npm install, build, and test run: | sudo apt-get -qq update - sudo apt-get install lldb-3.9 liblldb-3.9-dev lcov -y + sudo apt-get install lldb-6.0 liblldb-6.0-dev lcov -y + sudo ln -s $(which lldb-6.0) /usr/bin/lldb npm install npm run linter diff --git a/README.md b/README.md index 645b62ca..ab22cb4d 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ npm install -g llnode llnode `which node` -c /path/to/core/dump ``` -- Never install llnode with `sudo` as it can easily lead to errors during +- Never install llnode with `sudo` as it can easily lead to errors during installation and execution. - For more details on starting llnode see the [Usage](#usage) section. - To get started with the llnode commands see the [Commands](#commands) section. @@ -46,9 +46,9 @@ channels. We recommend installing Node.js with [nvm](https://github.com/nvm-sh/n as it allows users to install global packages without `sudo` by default, and it always installs the official executables from https://nodejs.org. -**Do not install Node.js from the default Ubuntu/Debian apt repositories (or from -the default repositories of other Linux distributions), llnode is not compatible -with Node.js installed that way**. If you still want to install Node.js via +**Do not install Node.js from the default Ubuntu/Debian apt repositories (or from +the default repositories of other Linux distributions), llnode is not compatible +with Node.js installed that way**. If you still want to install Node.js via `apt-get`, take a look at [nodesource/distributions](https://github.com/nodesource/distributions). @@ -73,10 +73,10 @@ version is LLDB 3.9 and above. - You can install the lldb package using the package manager of your distribution. You may need to install additional packages for `liblldb` as well. - - For example, on Ubuntu 16.04 you can install the prerequisites with + - For example, on Ubuntu 18.04 you can install the prerequisites with ```bash - apt-get install lldb-4.0 liblldb-4.0-dev + apt-get install lldb-8 liblldb-8-dev ``` - FreeBSD