Gulp-Coshops возвращает 422, сборки TravisCI не найдены

Сборки TravisCI проходят для моего проекта с открытым исходным кодом, и теперь я пытаюсь интегрировать gulp-coshops. На Coshopss.io нельзя найти никаких сборок для моего репозитория, хотя сборки Travis работали успешно с тех пор, как я добавил свое репо в Coshops.

'There have been no builds for this repo.'

Когда я пытаюсь запустить задачу gulp -customs gulp, я получаю такую ​​ошибку:

'Repo token could not be determined.  Continuing without it.'
Error in plugin 'gulp-coveralls'
Bad response:422 {"message":"Couldn't find a repository matching this job.","error":true}
    at handleError (/Users/sarah.green/angular-embedly/node_modules/gulp-coveralls/index.js:11:30)
    at sendToCoverallsCallback (/Users/sarah.green/angular-embedly/node_modules/gulp-coveralls/index.js:19:9)
    at /Users/sarah.green/angular-embedly/node_modules/gulp-coveralls/index.js:31:13
    at Request._callback (/Users/sarah.green/angular-embedly/node_modules/gulp-coveralls/node_modules/coveralls/lib/sendToCoveralls.js:7:5)
    at Request.self.callback (/Users/sarah.green/angular-embedly/node_modules/gulp-coveralls/node_modules/coveralls/node_modules/request/index.js:142:22)
    at Request.EventEmitter.emit (events.js:98:17)
    at Request.<anonymous> (/Users/sarah.green/angular-embedly/node_modules/gulp-coveralls/node_modules/coveralls/node_modules/request/index.js:856:14)
    at Request.EventEmitter.emit (events.js:117:20)
    at IncomingMessage.<anonymous> (/Users/sarah.green/angular-embedly/node_modules/gulp-coveralls/node_modules/coveralls/node_modules/request/index.js:808:12)
    at IncomingMessage.EventEmitter.emit (events.js:117:20)
    at _stream_readable.js:919:16
    at process._tickCallback (node.js:419:13)

Вот что у меня есть на данный момент:

gulp-coshops в моих зависимостях разработчика в package.json

gulpfile.js:

var coveralls = require('gulp-coveralls');
...
gulp.task('coveralls', function () {
gulp.src('coverage/**/lcov.info')
  .pipe(coveralls());
});

karma.conf.js:

coverageReporter: {
    type : 'lcov',
    dir : 'coverage/'
}

Github: https://github.com/lithiumtech/angular-embedly

Я использую Karma и PhantomJS для запуска своих тестов. Файловое покрытие / lcov.info определенно создается. Есть идеи, что может происходить?


person Sarah Jaisser Green    schedule 21.08.2014    source источник
comment
Решил ли этот ответ вашу проблему? Если да, можете ли вы отметить это как правильный ответ?   -  person unobf    schedule 24.12.2014


Ответы (3)


Сара,

Вам не хватает токена репозитория комбинезонов. Вам необходимо перейти на сайт coshopss.io и создать логин, используя свою учетную запись GitHub. Затем все ваши репозитории превратятся в комбинезоны. Затем для репо, с которым вы хотите использовать комбинезон, вы включаете комбинезон, щелкнув переключатель «Выкл.».

Теперь нажмите кнопку «Просмотр комбинезона», и он покажет вам ваш ключ репо. Затем вы можете настроить его, создав файл .coshopss.yml и скопировав свои ключи в этот файл. Это должно решить вашу проблему.

person unobf    schedule 01.09.2014

Возможно, у вас есть ошибка в вашем файле .coshopss.yml. Если вы используете Travis CI, попробуйте следующее:

service_name: travis-ci
repo_token: token_given

и если вы используете Travis Pro:

service_name: travis-pro
repo_token: token_given

Надеюсь, это будет полезно.

person Aarón Socas Gaspar    schedule 17.12.2014

Для сборок GitHub, работающих в travis-ci.org, вам не нужно имя службы в вашем .coshopss.yml. файл, просто токен. Вам также не нужна проходящая сборка в Travis, просто успешно сгенерированные данные LCOV и плагин, который их отправляет.

У меня была одна проблема с gulp-комбинезоном, когда данные LCOV не отправлялись должным образом в комбинезон при чтении из файла с использованием gulp.src. Единственный способ, которым я мог бы наконец работать, - это если данные LCOV будут отправлены в плагин напрямую, а не использовать промежуточный файл для их хранения в первую очередь.

Чтобы данные LCOV передавались по конвейеру в gulp-coshops и имелся отчет JSON / HTML, я, наконец, прибег к lazy-pipe для создания повторно используемых шагов.

Полный проект можно найти на сайте angular-logger на GitHub.

// .coveralls.yml
repo_token: the_token
var jasmine = require('gulp-jasmine');
var cover = require('gulp-coverage');
var coveralls = require('gulp-coveralls');
var lazypipe = require('lazypipe');

(..)

// gulpfile.js
var testAndGather = lazypipe()
    .pipe(cover.instrument, {
        pattern: ['src/**/*.js'],
        debugDirectory: 'debug'
    })
    .pipe(jasmine, {includeStackTrace: true})
    .pipe(cover.gather);

gulp.task('test', ['build'], function () {
    gulp.src('spec/**/*spec.js')
        .pipe(testAndGather())
        .pipe(cover.format(['html']))
        .pipe(gulp.dest('reports'));
});

gulp.task('travis', ['build'], function () {
    gulp.src('spec/**/*spec.js')
        .pipe(testAndGather())
        .pipe(cover.format(['lcov']))
        .pipe(coveralls()); // directly pipe into coveralls
});

С использованием:

"gulp-jasmine": "~2.0.1",
"gulp-coverage": "~0.3.35",
"gulp-coveralls": "~0.1.4",
"lazypipe": "~0.2.3"
person Benny Bottema    schedule 26.05.2015