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

Add Appveyor testing #3115

Closed
wants to merge 5 commits into from
Closed

Add Appveyor testing #3115

wants to merge 5 commits into from

Conversation

XhmikosR
Copy link
Contributor

https://ci.appveyor.com/project/jekyll/jekyll
https://ci.appveyor.com/project/XhmikosR/jekyll

TODO:

  • Use the proper badge (/CC @parkr so that I can update my patch)
  • Rename the AppVeyor account to jekyll in https://ci.appveyor.com/account
  • Enable gems caching. We need to make all the tests pass first, in order for this to take effect
  • See why gem update --system seems to make the whole process halt See here for a workaround
  • Fix tests to pass!!

@XhmikosR
Copy link
Contributor Author

@parkr: do we also need to run tests with TEST_SUITE=cucumber? If so I'll add that too later.

@parkr
Copy link
Member

parkr commented Nov 16, 2014

See why gem update --system seems to make the whole process halt

You might need administrator access for that, right?

Use the proper badge (/CC @parkr so that I can update my patch)

What's wrong with the badge? 😕

do we also need to run tests with TEST_SUITE=cucumber?

ideally, yes. The only reason we have that is so that travis can parallelize builds for us. If you leave that env var unset, it should just run both.

@XhmikosR
Copy link
Contributor Author

You might need administrator access for that, right?

Nope, it should work fine without it... I'll leave that after we get the tests to pass and we enable caching.

What's wrong with the badge?

I need the code from the AppVeyor settings. I don't have access there...

ideally, yes. The only reason we have that is so that travis can parallelize builds for us. If you leave that env var unset, it should just run both.

OK, I'll leave it out for the time being.

So to summarize, can we get the tests to pass first? I can rebase my branch from master frequently if needed.

@XhmikosR
Copy link
Contributor Author

So @parkr, can you share the vanilla badge code from the project you set up? BTW, you have disabled it it seems.

@parkr
Copy link
Member

parkr commented Nov 20, 2014

can you share the vanilla badge code from the project

For the master branch:

[![Build status](https://ci.appveyor.com/api/projects/status/rc3um0k4k0snv9fk/branch/master?svg=true)](https://ci.appveyor.com/project/parkr/jekyll/branch/master)

BTW, you have disabled it it seems.

So here's my dilemma. I want AppVeyor to run, but I don't want it to override the TravisCI status. I wrote into GitHub Support to see if we could show both of them. Is there another way to report?

@XhmikosR
Copy link
Contributor Author

PR updated with the new code.

So here's my dilemma. I want AppVeyor to run, but I don't want it to override the TravisCI status. I wrote into GitHub Support to see if we could show both of them. Is there another way to report?

That I don't know :/ Maybe @FeodorFitsner can shed some light.

@FeodorFitsner
Copy link

@XhmikosR
Copy link
Contributor Author

@FeodorFitsner: It seems AppVeyor is getting:

Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://rubygems.global.ssl.fastly.net/gems/rake-10.3.2.gem)

https://ci.appveyor.com/project/XhmikosR/jekyll/build/job/l1lt8vsndkpji0yy

If this isn't something you could take of upstream, I guess I will resort into trying something from http://ga.be/blog/2013/10/02/fixing-rubygems-ssl-issues-certificate-verify-failed/

@FeodorFitsner
Copy link

@XhmikosR
Copy link
Contributor Author

Well, last time I tried gem update --system it hung. I will try again tomorrow.

BTW @parkr can we get some Windows stuff in? Or maybe just rename your parkr account to jekyll?

We can always enable caching later if you want to merge this sooner.

@parkr
Copy link
Member

parkr commented Nov 22, 2014

BTW @parkr can we get some Windows stuff in?

Not sure what this means?

Or maybe just rename your parkr account to jekyll?

No idea how to do this. AppVeyor's UX is a bit opaque to me at the moment.

@XhmikosR
Copy link
Contributor Author

I mean some tests fixes so that Windows tests pass.

https://ci.appveyor.com/account

https://ci.appveyor.com/team <- you can add me here.

@parkr
Copy link
Member

parkr commented Nov 22, 2014

Ok, added you to the team.

@XhmikosR
Copy link
Contributor Author

Thanks.

I added gem update --system. We'll see if it finishes...

@XhmikosR
Copy link
Contributor Author

@FeodorFitsner: unfortunately, gem update --system seems to hang AppVeyor while it works fine locally. Is there anything you can do there?

https://ci.appveyor.com/project/XhmikosR/jekyll/build/job/0g0hu8fcyaxai7lt

@FeodorFitsner
Copy link

Right now I really don't have a clue where to dig next. Have you tried that on different versions of Ruby?

@XhmikosR
Copy link
Contributor Author

@FeodorFitsner: yes and it fails. Note that locally I don't have any of those issues. So my guess is that you will need to update your Ruby installations.

@FeodorFitsner
Copy link

you mean re-installing from scratch?

@XhmikosR
Copy link
Contributor Author

No, I mean upgrading them. Or maybe just the certificates would work.

@FeodorFitsner
Copy link

You can experiment by installing a clean Ruby 1.9 using the following script:

rd c:\Ruby193 /s /q
choco install ruby1.9
set PATH=C:\tools\ruby193\bin;%PATH%
ruby -v

@XhmikosR
Copy link
Contributor Author

@FeodorFitsner: I tried that and it fails too. https://ci.appveyor.com/project/XhmikosR/jekyll/build/59

So my guess is the certificates are to blame. Still, I wonder, how come no one else has complained to you about this.

@FeodorFitsner
Copy link

Do you use "unstable" build worker image or default one?

-Feodor

On Thu, Nov 27, 2014 at 12:24 AM, XhmikosR notifications@github.com
wrote:

On a side note, reinstalling ruby fixes gem update --system.

Reply to this email directly or view it on GitHub:
#3115 (comment)

@XhmikosR
Copy link
Contributor Author

Since I have no idea about that, my guess is what the default is.

@FeodorFitsner
Copy link

OK, I've got it working!

Look at the results:
https://ci.appveyor.com/project/appvyr/ruby-misc-tests/build/1.0.5

Secret recipe is settings updated CA certs: https://github.com/FeodorFitsner/ruby-misc-tests/blob/master/appveyor.yml#L2-L3

@XhmikosR
Copy link
Contributor Author

Thanks! But can't we have this applied in AppVeyor itself?

@parkr: so, do you think we should merge this or fix the Windows tests that fail first? Personally, I'd rather go with the later as long as someone can fix the tests, so that I enable caching and try gem update --system before we merge this.

@parkr
Copy link
Member

parkr commented Nov 29, 2014

I'd like to get it all passing first. I might also prefer AppVeyor support on jekyll/integration-tests so we don't have to fiddle with the unit tests to much.

@XhmikosR XhmikosR mentioned this pull request Nov 29, 2014
@XhmikosR
Copy link
Contributor Author

I'm not familiar with jekyll/integration-tests... Not sure what its purpose is.

@parkr
Copy link
Member

parkr commented Nov 30, 2014

I'm not familiar with jekyll/integration-tests... Not sure what its purpose is.

Its purpose was to be the cucumber tests, and that cucumber would no longer be in this repo. It now runs after every push to master, so I figure validation there would be fine as well.

@parkr
Copy link
Member

parkr commented Dec 8, 2014

@parkr
Copy link
Member

parkr commented Jan 26, 2015

@XhmikosR Rebase!

@XhmikosR
Copy link
Contributor Author

@parkr: https://ci.appveyor.com/project/jekyll/jekyll/build/56/job/35yd40w77dbl99cw

There was a ArgumentError while loading jekyll.gemspec:
Malformed version number string 3.0.0-beta1 from
C:/projects/jekyll/jekyll.gemspec:13:in `block in

'

@parkr
Copy link
Member

parkr commented Jan 26, 2015

There was a ArgumentError while loading jekyll.gemspec:
Malformed version number string 3.0.0-beta1 from

?! I've never seen this before. What version of RubyGems is the machine running? @FeodorFitsner, is there a way to upgrade RubyGems? This version incantation works fine for me.

@XhmikosR
Copy link
Contributor Author

@parkr: there is a way but it's uber slow... Let's see.

EDIT:
OK it works finally! Now someone has to make the tests pass...

Most of the errors (not failures) are due to the yajl-ruby issue. pygments/pygments.rb#106

@XhmikosR
Copy link
Contributor Author

@FeodorFitsner: even with the DNS change, bundle install takes a long time. Isn't there something you can do to speed this up? It's almost unusable if one has to wait 30 minutes...

@XhmikosR
Copy link
Contributor Author

@FeodorFitsner: any news? Isn't there something you can do about this? Makes me wonder how no one else has complained about this huge slowdown yet. bundle install doesn't even finish now after gem update --system 2.3.0 --quiet --no-ri --no-rdoc.

@FeodorFitsner
Copy link

I've been noticing that multiple times too that bundle install slows down drastically when you do upgrade default gem coming with Ruby installation to the latest version with gem update command. I'd really love to help, but I don't have a clue what's going on there. Though I don't think it's something specific to AppVeyor environment.

Let's think on it. I'm going to provision a clean VM on Azure and try reproducing the issue there. So, is it only with Ruby 1.9.3?

Maybe @luislavena can suggest something?

@XhmikosR
Copy link
Contributor Author

@FeodorFitsner: it's not 1.9.3 only; it happens with every Ruby version only on AppVeyor. On my dev VM everything installs in a timely manner.

@XhmikosR
Copy link
Contributor Author

@parkr @alfredxing: now that one build managed to get past the install part, you can see the failures.

@XhmikosR
Copy link
Contributor Author

XhmikosR commented Feb 6, 2015

So what are we going to do with this guys? I'm in touch with @FeodorFitsner to fix the speed issues, but until then I have managed to work around it. So, now we see the failures fine.

@XhmikosR
Copy link
Contributor Author

@parkr: so any news?

Note that it seems there's a new failure due to coffeescript that affects Travis too.

@parkr
Copy link
Member

parkr commented Mar 1, 2015

@parkr: so any news?

I'd like to have the appveyor tests passing before merging the branch. Also, 18 minutes is just too long to wait for one build, let alone the potential 72 minute combined build time for all four environments.

@XhmikosR
Copy link
Contributor Author

XhmikosR commented Mar 1, 2015

Well caching isn't in effect since tests fail hence the current duration.

There is nothing else we can do from our side unfortunately. AppVeyor is
just slow.
On Mar 1, 2015 5:01 AM, "Parker Moore" notifications@github.com wrote:

@parkr https://github.com/parkr: so any news?

I'd like to have the appveyor tests passing before merging the branch.
Also, 18 minutes is just too long to wait for one build, let alone the
potential 72 minute combined build time for all four environments.


Reply to this email directly or view it on GitHub
#3115 (comment).

@parkr
Copy link
Member

parkr commented Mar 16, 2015

:/

@XhmikosR
Copy link
Contributor Author

@parkr: can't GitHub just get a paid plan? Although the first priority should be to just fix the tests and then see how things will go when caching is enabled. I also reduced the configurations tested; I don't see any point in testing all of 2.0-2.2 x64, I only kept one x64.

parkr and others added 4 commits May 14, 2015 08:28
This is needed since older versions choke on the beta version tag used and give the following error:

> There was a ArgumentError while loading jekyll.gemspec:
> Malformed version number string 3.0.0-beta1 from
>   C:/projects/jekyll/jekyll.gemspec:13:in `block in <main>'

Note that newer Rubygems versions have other various issues on Windows, so v2.3.0 is the only solution at this point.
@XhmikosR
Copy link
Contributor Author

@parkr: someone seems removed Appveyor from the project.

@envygeeks
Copy link
Contributor

What purpose does Appveyor serve for the Jekyll project?

@XhmikosR
Copy link
Contributor Author

Well, Jekyll has broken in the past for Windows only and none from the
development team noticed since they don't use Windows.
On May 15, 2015 1:56 PM, "Jordon Bedwell" notifications@github.com wrote:

What purpose does Appveyor serve for the Jekyll project?


Reply to this email directly or view it on GitHub
#3115 (comment).

@envygeeks
Copy link
Contributor

However, based on your past comments (admittedly by simply scanning without full context) it seems this service wants to charge money and you (might) even recommend it which makes this futile.

@XhmikosR
Copy link
Contributor Author

Huh? Travis offers pro plans too. I don't care about AppVeyor or anything; it's just what I used. You are free to find any other better solution for Windows.

Anyway, I find futile this whole PR from the fact that I have it opened since November 2014. Closing and take care of Windows yourself.

@XhmikosR XhmikosR closed this May 15, 2015
@envygeeks
Copy link
Contributor

Fair enough. I hope you enjoy your day and sorry it didn't work out.

@jekyll jekyll locked and limited conversation to collaborators Feb 27, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
frozen-due-to-age windows Related to the Windows platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants