diff --git a/.gitignore b/.gitignore index 1c73b3783a..4db4e02677 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ test/test-data/go-ipfs-repo/LOG.old # while testing npm5 package-lock.json +yarn.lock diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..461d2aefc7 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,42 @@ +language: node_js +cache: npm +stages: + - check + - test + - cov + +node_js: + - '10' + +os: + - linux + - osx +script: npx nyc -s npm run test:node -- --bail +after_success: npx nyc report --reporter=text-lcov > coverage.lcov && npx codecov + +jobs: + include: + - stage: check + script: + - npx aegir commitlint --travis + - npx aegir dep-check -- -i wrtc -i electron-webrtc + - npm run lint + + - stage: test + name: chrome + addons: + chrome: stable + script: + - npx aegir test -t browser + - npx aegir test -t webworker + + - stage: test + name: firefox + addons: + firefox: latest + script: + - npx aegir test -t browser -- --browsers FirefoxHeadless + - npx aegir test -t webworker -- --browsers FirefoxHeadless + +notifications: + email: false \ No newline at end of file diff --git a/ci/Jenkinsfile b/ci/Jenkinsfile deleted file mode 100644 index a7da2e54f3..0000000000 --- a/ci/Jenkinsfile +++ /dev/null @@ -1,2 +0,0 @@ -// Warning: This file is automatically synced from https://github.com/ipfs/ci-sync so if you want to change it, please change it there and ask someone to sync all repositories. -javascript() diff --git a/package.json b/package.json index d273d0c419..59904082dd 100644 --- a/package.json +++ b/package.json @@ -16,9 +16,7 @@ "test:browser": "aegir test -t browser", "release": "aegir release -t node -t browser", "release-minor": "aegir release --type minor -t node -t browser", - "release-major": "aegir release --type major -t node -t browser", - "coverage": "aegir coverage", - "coverage-publish": "aegir coverage --provider coveralls" + "release-major": "aegir release --type major -t node -t browser" }, "repository": { "type": "git", @@ -61,7 +59,7 @@ }, "devDependencies": { "@nodeutils/defaults-deep": "^1.1.0", - "aegir": "^18.0.2", + "aegir": "^18.1.0", "chai": "^4.2.0", "chai-checkmark": "^1.0.1", "cids": "~0.5.5", @@ -87,7 +85,6 @@ "pull-serializer": "~0.3.2", "pull-stream": "^3.6.9", "sinon": "^7.1.1", - "webrtcsupport": "^2.2.0", "wrtc": "~0.3.2" }, "contributors": [ diff --git a/test/transports.browser.js b/test/transports.browser.js index f4338fd164..f96bcfd20c 100644 --- a/test/transports.browser.js +++ b/test/transports.browser.js @@ -12,7 +12,7 @@ const pull = require('pull-stream') const parallel = require('async/parallel') const goodbye = require('pull-goodbye') const serializer = require('pull-serializer') -const w = require('webrtcsupport') +const wrtcSupport = self.RTCPeerConnection && ('createDataChannel' in self.RTCPeerConnection.prototype) const tryEcho = require('./utils/try-echo') const Node = require('./utils/bundle-browser') @@ -232,7 +232,7 @@ describe('transports', () => { describe('webrtc-star', () => { /* eslint-disable-next-line no-console */ - if (!w.support) { return console.log('NO WEBRTC SUPPORT') } + if (!wrtcSupport) { return console.log('NO WEBRTC SUPPORT') } let peer1 let peer2 diff --git a/test/turbolence.node.js b/test/turbolence.node.js deleted file mode 100644 index d12c35edf9..0000000000 --- a/test/turbolence.node.js +++ /dev/null @@ -1,84 +0,0 @@ -/* eslint-env mocha */ -'use strict' - -const chai = require('chai') -chai.use(require('dirty-chai')) -const expect = chai.expect -const multiaddr = require('multiaddr') -const spawn = require('child_process').spawn -const path = require('path') -const pull = require('pull-stream') -const utils = require('./utils/node') -const createNode = utils.createNode -const echo = utils.echo - -describe('Turbolence tests', () => { - let nodeA - let nodeSpawn - - before((done) => { - createNode('/ip4/0.0.0.0/tcp/0', (err, node) => { - expect(err).to.not.exist() - nodeA = node - node.handle('/echo/1.0.0', echo) - node.start(done) - }) - }) - - after((done) => nodeA.stop(done)) - - it('spawn a node in a different process', (done) => { - const filePath = path.join(__dirname, './spawn-libp2p-node.js') - - nodeSpawn = spawn(filePath, { env: process.env }) - - let spawned = false - - nodeSpawn.stdout.on('data', (data) => { - // console.log(data.toString()) - if (!spawned) { - spawned = true - done() - } - }) - - /* eslint-disable-next-line no-console */ - nodeSpawn.stderr.on('data', (data) => console.log(data.toString())) - }) - - it('connect nodeA to that node', (done) => { - const spawnedId = require('./test-data/test-id.json') - const maddr = multiaddr('/ip4/127.0.0.1/tcp/12345/p2p/' + spawnedId.id) - - nodeA.dial(maddr, '/echo/1.0.0', (err, conn) => { - expect(err).to.not.exist() - const peers = nodeA.peerBook.getAll() - - expect(Object.keys(peers)).to.have.length(1) - - pull( - pull.values([Buffer.from('hey')]), - conn, - pull.collect((err, data) => { - expect(err).to.not.exist() - expect(data).to.eql([Buffer.from('hey')]) - done() - }) - ) - }) - }) - - it('crash that node, ensure nodeA continues going steady', (done) => { - // TODO investigate why CI crashes - setTimeout(() => nodeSpawn.kill('SIGKILL'), 1000) - // nodeSpawn.kill('SIGKILL') - setTimeout(check, 5000) - - function check () { - const peers = nodeA.peerBook.getAll() - expect(Object.keys(peers)).to.have.length(1) - expect(nodeA._switch.connection.getAll()).to.have.length(0) - done() - } - }) -})