Skip to content

Commit

Permalink
feat!: fix CI tests
Browse files Browse the repository at this point in the history
  * 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
  • Loading branch information
mmarchini committed Oct 18, 2021
1 parent 279a540 commit 934ff7c
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 20 deletions.
34 changes: 20 additions & 14 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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).

Expand All @@ -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

Expand Down

0 comments on commit 934ff7c

Please sign in to comment.