diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 00000000..510a0ec2 --- /dev/null +++ b/.github/workflows/push.yml @@ -0,0 +1,74 @@ +name: on push or pull_request + +on: + push: + branches: + - master + pull_request: + schedule: + - cron: '0 0 * * *' + +jobs: + tests: + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + node: + - version: 8.x + - version: 10.x + - version: 11.x + - version: 14.x + mirror: https://nodejs.org/download/nightly + - version: 14.x + mirror: https://nodejs.org/download/v8-canary + os: [ubuntu-latest, macos-latest] + steps: + - uses: actions/checkout@v1 + - name: Use Node.js ${{ matrix.node.version }} ${{ matrix.node.mirror }} + uses: mmarchini/setup-node@mirror + with: + node-version: ${{ matrix.node.version }} + node-mirror: ${{ matrix.node.mirror }} + - name: install dependencies Linux + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt-get -qq update + sudo apt-get install lldb-3.9 liblldb-3.9-dev lcov gdb -y + - 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 + if: matrix.node.version != '14.x' + - name: run tests (nightly) + run: TEST_LLDB_BINARY=`which lldb-3.9` npm run nyc-test-all + if: matrix.node.version == '14.x' + continue-on-error: true + - name: prepare coverage + if: matrix.os == 'ubuntu-latest' && matrix.node.version != '14.x' + run: | + npm run coverage + cat ./coverage-js.info > ./coverage.info + cat ./coverage-cc.info >> ./coverage.info + - name: coveralls + if: matrix.os == 'ubuntu-latest' && matrix.node.version != '14.x' + uses: coverallsapp/github-action@master + with: + path-to-lcov: ./coverage.info + github-token: ${{ secrets.GITHUB_TOKEN }} + linter: + runs-on: [ubuntu-latest] + steps: + - uses: actions/checkout@v1 + - name: Use Node.js LTS + uses: actions/setup-node@v1 + with: + node-version: 12.x + - 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 + npm install + npm run linter diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 68ed9fae..00000000 --- a/.travis.yml +++ /dev/null @@ -1,147 +0,0 @@ -language: node_js -matrix: - include: - ################# - # Ubuntu Trusty # - ################# - - - name: "[Trusty] Node.js v8.x" - sudo: required - dist: trusty - before_install: - - sudo apt-get -qq update - - sudo apt-get install lldb-3.9 liblldb-3.9-dev lcov -y - install: - - npm install --llnode_build_addon=true - script: TEST_LLDB_BINARY=`which lldb-3.9` npm run nyc-test-all - node_js: "8" - after_success: - - npm run coverage - - npm run codecov-upload - - - name: "[Trusty] Node.js v10.x" - sudo: required - dist: trusty - before_install: - - sudo apt-get -qq update - - sudo apt-get install lldb-3.9 liblldb-3.9-dev lcov -y - install: - - npm install --llnode_build_addon=true --llnode_coverage=true - script: TEST_LLDB_BINARY=`which lldb-3.9` npm run nyc-test-all - node_js: "10" - after_success: - - npm run coverage - - npm run codecov-upload - - - name: "[Trusty] Node.js v11.x" - sudo: required - dist: trusty - before_install: - - sudo apt-get -qq update - - sudo apt-get install lldb-3.9 liblldb-3.9-dev lcov -y - install: - - npm install --llnode_build_addon=true --llnode_coverage=true - script: TEST_LLDB_BINARY=`which lldb-3.9` npm run nyc-test-all - node_js: "11" - after_success: - - npm run coverage - - npm run codecov-upload - - ########################### - # Nightlies & V8 Canaries # - ########################### - - # Addon is not tested due to lack of node-addon-api - - name: "[Trusty] Node.js Nightly" - node_js: "node" - sudo: required - dist: trusty - before_install: - - sudo apt-get -qq update - - sudo apt-get install lldb-3.9 liblldb-3.9-dev lcov -y - install: - - npm install --nodedir=$(dirname $(dirname $(which node)))/include/node - script: TEST_LLDB_BINARY=`which lldb-3.9` npm run nyc-test - env: - - NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly - - NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly - after_success: - - npm run coverage - - npm run codecov-upload - - # Addon is not tested due to lack of node-addon-api - - name: "[Trusty] Node.js V8 Canary" - node_js: "node" - sudo: required - dist: trusty - before_install: - - sudo apt-get -qq update - - sudo apt-get install lldb-3.9 liblldb-3.9-dev lcov -y - install: - - npm install --nodedir=$(dirname $(dirname $(which node)))/include/node - script: TEST_LLDB_BINARY=`which lldb-3.9` npm run nyc-test - env: - - NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/v8-canary - - NODEJS_ORG_MIRROR=https://nodejs.org/download/v8-canary - after_success: - - npm run coverage - - npm run codecov-upload - - ######## - # OS X # - ######## - - - name: "[OSX] Node.js v8.x" - os: osx - osx_image: xcode9.3 - install: npm install --llnode_build_addon=true - script: npm run test-all - node_js: "8" - - - name: "[OSX] Node.js v10.x" - os: osx - osx_image: xcode9.3 - install: npm install --llnode_build_addon=true - script: npm run test-all - node_js: "10" - - - name: "[OSX] Node.js v11.x" - os: osx - osx_image: xcode9.3 - install: npm install --llnode_build_addon=true - script: npm run test-all - node_js: "11" - - ########## - # Linter # - ########## - - - name: "Linter" - sudo: required - dist: trusty - before_install: - - sudo apt-get -qq update - - sudo apt-get install lldb-3.9 liblldb-3.9-dev -y - install: npm install - script: npm run linter - node_js: "10" - - # Allow the nightly installs to fail - allow_failures: - - - node_js: "node" - sudo: required - dist: trusty - env: - - NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly - - NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly - - - node_js: "node" - sudo: required - dist: trusty - env: - - NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/v8-canary - - NODEJS_ORG_MIRROR=https://nodejs.org/download/v8-canary -branches: - only: - - master diff --git a/README.md b/README.md index 85b64871..216f0ba3 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@

[![npm](https://img.shields.io/npm/v/llnode.svg?style=flat-square)](https://npmjs.org/package/llnode) +![ci](https://img.shields.io/github/workflow/status/nodejs/llnode/push/master?style=flat-square) +[![coverage](https://img.shields.io/coveralls/github/nodejs/llnode/master?style=flat-square)](https://coveralls.io/github/nodejs/llnode) Node.js v4.x+ C++ plugin for the [LLDB](http://lldb.llvm.org) debugger. @@ -21,17 +23,6 @@ with Node.js processes or core dumps in LLDB. https://asciinema.org/a/29589 -## Build Status - -| Version | v8.x | v10.x | v11.x | master | v8-canary | -|---------|-------------------------|---------------------------|---------------------------|-------------------------------|----------------------------------| -| **Trusty** | [![v8.x badge][v8-trusty-badge]][travis] | [![v10.x badge][v10-trusty-badge]][travis] | [![v11.x badge][v11-trusty-badge]][travis] | [![master badge][master-trusty-badge]][travis] | [![v8-canary badge][canary-trusty-badge]][travis] | -| **OS X** | [![v8.x badge][v8-osx-badge]][travis] | [![v10.x badge][v10-osx-badge]][travis] | [![v11.x badge][v11-osx-badge]][travis] | - | - | - -We have nightly test runs against all Node.js active release lines. We also test -against Node.js master and Node.js v8-canary nightly builds to help us identify -breaking changes on Node.js and V8 before they land on an active release line. - ## Quick start Start an LLDB session with the llnode plugin automatically loaded: @@ -386,15 +377,3 @@ NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -[travis]: https://travis-ci.com/nodejs/llnode -[v8-trusty-badge]: https://travisci-matrix-badges.herokuapp.com/repos/nodejs/llnode/branches/master/1?use_travis_com=true -[v10-trusty-badge]: https://travisci-matrix-badges.herokuapp.com/repos/nodejs/llnode/branches/master/2?use_travis_com=true -[v11-trusty-badge]: https://travisci-matrix-badges.herokuapp.com/repos/nodejs/llnode/branches/master/3?use_travis_com=true - -[v8-osx-badge]: https://travisci-matrix-badges.herokuapp.com/repos/nodejs/llnode/branches/master/4?use_travis_com=true -[v10-osx-badge]: https://travisci-matrix-badges.herokuapp.com/repos/nodejs/llnode/branches/master/5?use_travis_com=true -[v11-osx-badge]: https://travisci-matrix-badges.herokuapp.com/repos/nodejs/llnode/branches/master/6?use_travis_com=true - -[master-trusty-badge]: https://travisci-matrix-badges.herokuapp.com/repos/nodejs/llnode/branches/master/8?use_travis_com=true -[canary-trusty-badge]: https://travisci-matrix-badges.herokuapp.com/repos/nodejs/llnode/branches/master/9?use_travis_com=true diff --git a/package.json b/package.json index 90bc86d7..65a60e16 100644 --- a/package.json +++ b/package.json @@ -20,11 +20,8 @@ "nyc-test-all": "nyc npm run test-all", "nyc-test": "nyc npm run test", "coverage-cc": "make coverage", - "coverage-js": "nyc report --reporter=text-lcov > coverage-js.lcov", + "coverage-js": "nyc report --reporter=text-lcov > coverage-js.info", "coverage": "npm run coverage-cc && npm run coverage-js", - "codecov-upload-cc": "codecov --disable=gcov --file=coverage-cc.info", - "codecov-upload-js": "codecov --disable=gcov --file=coverage-js.lcov", - "codecov-upload": "npm run codecov-upload-cc && npm run codecov-upload-js", "linter": "node scripts/linter.js", "format": "npx clang-format -i src/*" },