diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..7047442196 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,67 @@ +language: node_js +node_js: '8' +sudo: true +os: linux +dist: trusty + +branches: + only: + - master + - /^greenkeeper/.*$/ + +addons: + apt: + packages: + - clang-3.3 + - build-essential + - gnome-keyring + - libsecret-1-dev + - python-gnomekeyring + +env: + global: + - npm_config_clang=1 + - CC=clang + - CXX=clang++ + - ATOM_GITHUB_FS_EVENT_LOG=1 + - MOCHA_TIMEOUT=60000 + - UNTIL_TIMEOUT=30000 + - DISPLAY=":99" + - ATOM_GITHUB_DISABLE_KEYTAR=1 + - ATOM_GITHUB_INLINE_GIT_EXEC=1 + - ATOM_CHANNEL=dev + - ATOM_SCRIPT_PATH=${HOME}/atom/usr/bin/atom-dev + - APM=${HOME}/atom/usr/bin/apm-dev + +notifications: + email: false + +install: +- npm install -g npm +- > + curl -s -L "https://atom.io/download/deb?channel=$ATOM_CHANNEL" + -H 'Accept: application/octet-stream' + -o "atom.deb" +- > + /sbin/start-stop-daemon --start --quiet + --pidfile /tmp/custom_xvfb_99.pid --make-pidfile + --background --exec /usr/bin/Xvfb -- :99 -ac + -screen 0 1280x1024x16 +- dpkg-deb -x atom.deb "$HOME/atom" +- | + echo "Atom version:" + ${ATOM} --version + echo "apm version:" + ${APM} --version +- ${APM} ci || ${APM} install + +before_script: +- eval $(echo -n "" | /usr/bin/gnome-keyring-daemon --login) +- eval $(/usr/bin/gnome-keyring-daemon --components=secrets --start) +- dbus-launch /usr/bin/python -c "import gnomekeyring;gnomekeyring.create_sync('login', '');" + +script: +- npm run test:coverage + +after_script: +- npm run coveralls diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 5f005f3911..523e422cce 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -54,16 +54,14 @@ jobs: testResultsFiles: $(Agent.HomeDirectory)/test-results.xml testRunTitle: Linux $(atom_channel) condition: succeededOrFailed() - - bash: | - if [ -n "${COVERALLS_REPO_TOKEN}" ]; then npm run coveralls; else echo "No Coveralls token"; fi - displayName: submit coverage data to Coveralls - env: - CI_NAME: Azure Pipeline (Linux) - CI_BUILD_NUMBER: $(Build.BuildNumber) - CI_BUILD_URL: https://dev.azure.com/atom-github/GitHub%20package%20for%20Atom/_build/results?buildId=$(Build.BuildId)&view=logs - CI_BRANCH: $(Build.SourceBranchName) - CI_PULL_REQUEST: $(System.PullRequest.PullRequestNumber) - COVERALLS_REPO_TOKEN: $(coveralls.repoToken) + - bash: npm run report:coverage + displayName: generate code coverage reports + condition: succeededOrFailed() + - task: PublishCodeCoverageResults@1 + inputs: + codeCoverageTool: cobertura + summaryFileLocation: $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml + reportDirectory: $(System.DefaultworkingDirectory)/coverage/ condition: succeededOrFailed() - job: MacOS @@ -100,16 +98,14 @@ jobs: testResultsFiles: $(Agent.HomeDirectory)/test-results.xml testRunTitle: MacOS $(atom_channel) condition: succeededOrFailed() - - bash: | - if [ -n "${COVERALLS_REPO_TOKEN}" ]; then npm run coveralls; else echo "No Coveralls token"; fi - displayName: submit coverage data to Coveralls - env: - CI_NAME: Azure Pipeline (MacOS) - CI_BUILD_NUMBER: $(Build.BuildNumber) - CI_BUILD_URL: https://dev.azure.com/atom-github/GitHub%20package%20for%20Atom/_build/results?buildId=$(Build.BuildId)&view=logs - CI_BRANCH: $(Build.SourceBranchName) - CI_PULL_REQUEST: $(System.PullRequest.PullRequestNumber) - COVERALLS_REPO_TOKEN: $(coveralls.repoToken) + - bash: npm run report:coverage + displayName: generate code coverage reports + condition: succeededOrFailed() + - task: PublishCodeCoverageResults@1 + inputs: + codeCoverageTool: cobertura + summaryFileLocation: $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml + reportDirectory: $(System.DefaultworkingDirectory)/coverage/ condition: succeededOrFailed() - job: Windows @@ -166,20 +162,14 @@ jobs: testResultsFiles: $(Agent.HomeDirectory)/test-results.xml testRunTitle: Windows $(atom_channel) condition: succeededOrFailed() - - powershell: | - if ($env:COVERALLS_REPO_TOKEN -ne "") { - npm run coveralls - } else { - Write-Output "No Coveralls token" - } - displayName: submit coverage data to Coveralls - env: - CI_NAME: Azure Pipeline (Windows) - CI_BUILD_NUMBER: $(Build.BuildNumber) - CI_BUILD_URL: https://dev.azure.com/atom-github/GitHub%20package%20for%20Atom/_build/results?buildId=$(Build.BuildId)&view=logs - CI_BRANCH: $(Build.SourceBranchName) - CI_PULL_REQUEST: $(System.PullRequest.PullRequestNumber) - COVERALLS_REPO_TOKEN: $(coveralls.repoToken) + - powershell: npm run report:coverage + displayName: generate code coverage reports + condition: succeededOrFailed() + - task: PublishCodeCoverageResults@1 + inputs: + codeCoverageTool: cobertura + summaryFileLocation: $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml + reportDirectory: $(System.DefaultworkingDirectory)/coverage/ condition: succeededOrFailed() - job: Lint diff --git a/package.json b/package.json index 38737dcd84..aeef54f6bc 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "test:coverage:lcov": "npm run test:coverage", "test:snapshot": "cross-env-shell ATOM_GITHUB_TEST_SUITE=snapshot \"${ATOM_SCRIPT_PATH:-atom} --test test\"", "coveralls": "nyc report --reporter=text-lcov | coveralls", + "report:coverage": "nyc report --reporter=cobertura --reporter=html", "lint": "eslint --max-warnings 0 test lib", "fetch-schema": "node script/fetch-schema", "relay": "relay-compiler --src ./lib --schema graphql/schema.graphql"