Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support appveyor ci service #1

Closed
moteus opened this issue Mar 23, 2015 · 15 comments
Closed

Support appveyor ci service #1

moteus opened this issue Mar 23, 2015 · 15 comments
Assignees

Comments

@moteus
Copy link
Owner

moteus commented Mar 23, 2015

No description provided.

@moteus moteus self-assigned this Mar 23, 2015
@starius
Copy link

starius commented May 9, 2015

I've tried luacov-coveralls with appveyor.

Two problems occurred:

  1. lua-cjson failed to build. It was successfully replaced with dkjson. It worth replacing it in the repo
  2. lua-path goes wrong
git.lua:57: attempt to call field 'fullpath' (a nil value)
stack traceback:
git.lua:57: in function 'new'
CiRepo.lua:7: in function 'try_any_repo'
CiRepo.lua:22: in function 'new'
coveralls.lua:61: in function 'new'
reporter.lua:357: in function <...luacov\reporter.lua:351>
(tail call): ?
bin\luacov-coveralls:146: in main chunk
[C]: ?
Command exited with code 1

(Here paths were shortened, see the appveyor log for full version.)

Looking through lua-path's sorce I can't figure out, how module "path" can lack field "fullpath".

@moteus
Copy link
Owner Author

moteus commented May 9, 2015

lua-cjson failed to build

luacov-coveralls supports luajson/lua-cjson/dkjson.
May be I update this deps in rockspec for next version.
Or may be just fix cjson?

lua-path goes wrong

The real problem is that lua-path for Windows needs bit/bit32 library.
If it does not find it can not load system part of library and there no some functions.
And I have no idea how to specify this deps only for Windows in rockspec.
So try install bit32 library

starius added a commit to npge/lua-npge that referenced this issue May 9, 2015
Waiting for progress in luacov-coveralls [1].

[1] moteus/luacov-coveralls#1
starius added a commit to npge/lua-npge that referenced this issue May 9, 2015
See the luacov-coveralls's issue:

> The real problem is that lua-path for Windows needs bit/bit32
> library.  If it does not find it can not load system part of
> library and there no some functions.  And I have no idea howi
> to specify this deps only for Windows in rockspec.  So tryi
> install bit32 library

[1] moteus/luacov-coveralls#1
@starius
Copy link

starius commented May 9, 2015

luacov-coveralls supports luajson/lua-cjson/dkjson
Or may be just fix cjson?

What about lua-rapidjson? It works on Windows (at least on x86, errors on x64). This library would be easier to fix. Dkjson is also nice, because performance of JSON encoding/decoding doesn't matter in this case. (Is it?)

So try install bit32 library

This helped, thank you.

New problem: luacov-coveralls fails to upload coverage information to coveralls.

@moteus
Copy link
Owner Author

moteus commented May 9, 2015

coveralls does not supports appveyor via job id. so you need use repo token to identify ropos.
You can use secure COVERALLS_REPO_TOKEN variable to set it.

@starius
Copy link

starius commented May 9, 2015

Thank you. I have copied "Repo Token" from coveralls' page and added new variable COVERALLS_REPO_TOKEN in appveyor's settings page. It works!

Now coveralls makes two builds per commit: one for travis and another for appveyor. How can I make it "merge" them into one? (Some code runs only on Windows, I want this code to be marked covered. This doesn't make sence, if Windows coverage is not merged with Linux coverage.)

@starius
Copy link

starius commented May 9, 2015

committer_name and committer_email reported by luacov-coveralls are empty.

@starius
Copy link

starius commented May 9, 2015

Module bit32 can not be installed with LuaRocks for Lua 5.2 and Lua 5.3.
Workaround: install it only for Lua 5.1 and LuaJIT:

if "%LUA_SHORTV%"=="5.1" luarocks install bit32

Each job is reported to coveralls as a build. I' prefer to have only one coveralls build per commit (push). Could you change luacov-coveralls to report all jobs as one build, please?

starius added a commit to npge/lua-npge that referenced this issue May 11, 2015
Each job is uploaded as a build and it is not merged into
travis's coverrage.

See moteus/luacov-coveralls#1 (comment)
@moteus
Copy link
Owner Author

moteus commented May 12, 2015

Could you change luacov-coveralls to report all jobs as one build, please?

I have no idea is it possible at all. I can not find any docs about that.

@moteus
Copy link
Owner Author

moteus commented Feb 9, 2016

I just commit change that allows use several jobs in one build.
Can you test it please.

@starius
Copy link

starius commented Feb 10, 2016

Thank you for working on this!

  1. lua-cjson is still broken in AppVeyor, so it is good that you switched to dkjson.
  2. I have tried new version of luacov-coveralls: Upload code coverage from AppVeyor to coveralls npge/lua-npge#20
  3. Failure of one job seems to be unrelated.
  4. Result page on Coveralls: https://coveralls.io/builds/5032629
  5. Jobs are merged into one build. Cool!
  6. FIXME: Build id is strange (135, while current id is ~330).
  7. FIXME: Coveralls doesn't report status to GitHub. See Upload code coverage from AppVeyor to coveralls npge/lua-npge#20 the status of Coveralls is "Waiting for status to be reported".
    • UPD. It may be unrelated, because I get no report from Travis CI as well. Probably it was caused by my previous attempt to build it using old version of luacov-coveralls, which reported each job as a build. I have removed these builds and restart a job on Travis.
  8. TODO: Options are not displayed in jobs' descriptions. Compare with result produced from Travis CI build: https://coveralls.io/builds/4996198
  9. TODO: Produce a single coverage report for Travis and Appveyor. It should mark platform-specific lines of code covered.

@moteus
Copy link
Owner Author

moteus commented Feb 11, 2016

  • 6 This is build number on CI not in Coveralls. I have to send to coveralls absolute value on build number. Right now I can only suggest add option which will is some delta so we will send value like BUILD_NUMBER+DELTA. May be it allows merge build from several CI (9) but I really do not think so.
  • 8 This is not luacov-coveralls problem. I do not send any additional info to coveralls from Travis. This is what I get from CI env. And this is what I can send to coveralls. Other I think do coveralls byself.

@moteus
Copy link
Owner Author

moteus commented Feb 11, 2016

I add oprtion -b=<value> as experiment to be able sync build numbers on different CI.
Just test. This is how displays two builds from different CI.
screenshot_1
This is test repo. I think it better get it from envirnment. But I can not figure out best name. I think about LUACOV_COVERALLS_BUILD_NUMBER or COVERALLS_BUILD_NUMBER
You can do more test. E.g. make PR and checkout build numbers there.
But I really not ready add this ability. I leave this options only as experiment.

starius added a commit to starius/lua-npge that referenced this issue Feb 11, 2016
New luacov-coveralls (0.2.0) produces empty coveralls reports.
See https://coveralls.io/builds/5045163
See moteus/luacov-coveralls#1
starius added a commit to starius/lua-npge that referenced this issue Feb 11, 2016
New luacov-coveralls (0.2.0) produces empty coveralls reports.

See https://coveralls.io/builds/5045163
See moteus/luacov-coveralls#1
@starius
Copy link

starius commented Feb 11, 2016

Travis reports of lua-npge are also empty on coveralls.
I have even tried to use luacov-coveralls 0.1.1, but it hasn't helped.

For example, see Travis job https://travis-ci.org/npge/lua-npge/jobs/108635432
It created coveralls.io job https://coveralls.io/jobs/11957090 which reports empty coverage for all files. Can you help me with fixing it, please?

@moteus
Copy link
Owner Author

moteus commented Feb 12, 2016

This build/job looks ok. May be it was glitch in coveralls service.
But may be it has some bug in dkjson library.
Could you please try again 2.0 with dkjson and with cjson.
luacov-coveralls will use cjson if it can find it. so you can just install it.

PS. better open new issues for this.

starius added a commit to starius/lua-npge that referenced this issue Feb 12, 2016
starius added a commit to starius/lua-npge that referenced this issue Feb 14, 2016
@moteus
Copy link
Owner Author

moteus commented Feb 16, 2016

I think It all fixed in version 0.2.1.

@moteus moteus closed this as completed Feb 16, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants