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 CI for Windows #672

Merged
merged 1 commit into from
Nov 5, 2017
Merged

Conversation

zbjornson
Copy link
Collaborator

This mostly works. VS2015 fails without #670. We need #458 merged for any to fully pass -- see log:
https://ci.appveyor.com/project/zbjornson/node-canvas/build/job/x3domgfjsq77445m After that I need to change the script to install libjpeg-turbo.

For now there's only one node env. Think it's unnecessary to have more than one, but it's easy to add.

(Sorry I've got 83a8b27 upstream from #671 in here.)

appveyor.yml Outdated
- npm install
build: off
test_script:
- cmd: mocha test/*.test.js
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Newline at the end of the file please :)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, shouldn't the cmd be npm test?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

npm test runs pretest, then test. pretest currently builds. npm install also builds, so it was doing a redundant build. Do we need pretest to build? I agree it would be nicer to just have npm test.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh, hmm, I would kind of like to get rid of the pre* as well. I don't think it's the right place to have that responsibility here.

Although, at least on unix, node-gyp build isn't the same as rebuild. Mine just outputs "nothing to be done"...

@LinusU
Copy link
Collaborator

LinusU commented Nov 21, 2015

This is awesome, some comments:

  • can you rebase on master now that I have pulled in the first commit?
  • can we use matrix building to test on multiple versions of Node.js?
  • is there some type of account on Appveyor? how are the builds triggered?

appveyor.yml Outdated
- 7z x gtk.zip -oGTK > nul
- mv GTK/ C:/
- npm install
build: off
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it work if removed both of these lines?

  - npm install
build: off

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, the default build command invokes msbuild directly. Getting the configuration right for that looks more verbose/complicated than it currently is.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, just checking :)

@LinusU
Copy link
Collaborator

LinusU commented Nov 22, 2015

Do you think we should remove all iojs releases from both here and travis? I don't know what the LTS status is on those but I don't think anyone uses them anymore...

@zbjornson
Copy link
Collaborator Author

From https://github.com/nodejs/LTS/

There will be no LTS releases cut from the nodejs/io.js stream.

I don't know if there are any metrics available to see if anyone is using iojs nonetheless. Doesn't hurt to leave them, I think?

@zbjornson zbjornson force-pushed the appveyor branch 2 times, most recently from dd4a26a to 6d65cd3 Compare November 23, 2015 07:16
@LinusU
Copy link
Collaborator

LinusU commented Jan 6, 2016

@TooTallNate @domenic @rvagg @kangax Who should I talk to to get a free appveyor account set up for Automattic? I guess it would be good if someone with a somewhat official email address set it up? If this is desirable at all, which I assume it is :)

@kangax
Copy link
Collaborator

kangax commented Jan 6, 2016

That would be @TooTallNate or @rvagg (@domenic and I were invited)

@rvagg
Copy link
Contributor

rvagg commented Jan 7, 2016

Not I, it doesn't show up for me in appveyor so I guess I don't have enough access in the Automattic org, will have to defer to someone more official, @TooTallNate or someone else there.

@LinusU
Copy link
Collaborator

LinusU commented Feb 7, 2016

@TooTallNate Do you have time to take a look at this? I would appreciate it!

@zbjornson zbjornson mentioned this pull request Jul 27, 2016
@chearon
Copy link
Collaborator

chearon commented Sep 3, 2017

This would be nice to have, I don't use node-canvas on Windows anymore, so AppVeyor would have caught #984 breaking the build against the old gtk.zip

@LinusU
Copy link
Collaborator

LinusU commented Sep 4, 2017

I'm personally still open for this. One thing I don't like with AppVeyor though is that they are super super super slow. If anyone knows any other free for open source CI for Windows, I would be very interested 😄

Other than that, I think we are at the same position as before, someone from the automattic org needs to enable this...

@chearon
Copy link
Collaborator

chearon commented Sep 4, 2017

One thing I don't like with AppVeyor though is that they are super super super slow

Yeah, so basically the same problem as #796. I wonder how much it would help if we only built with the latest node on macOS and Windows? I could maybe experiment with that a bit.

@zbjornson
Copy link
Collaborator Author

Just updated this branch since JPEG works on Windows now.

The builds themselves aren't slow (they're actually about a minute faster than Travis) but they all run sequentially. So, I've set the matrix to just Node 6 (LTS) and MSVS 2013 and 2015. (2015 is probably sufficient; 2017 I haven't got working yet, although I use it on one of my computers.)

✔️ https://ci.appveyor.com/project/zbjornson/node-canvas/build/0.0.61 <-- PR #987

@LinusU
Copy link
Collaborator

LinusU commented Sep 5, 2017

What I remember with them being super slow was for them to actually start, my latest build in node-spearker took hours (I think, can't find any numbers now after the fact) just to start 😱

Anyhow, I'm still all for getting this in, just venting my frustation 😂

@TooTallNate
Copy link
Contributor

I no longer have admin access to this repo either. Not sure who at a8c to ping based on the commit logs.

Maybe /cc @dmsnell? I dunno.

@dmsnell
Copy link
Member

dmsnell commented Sep 5, 2017

Thanks @TooTallNate! I can try and look into this soon.

@dmsnell dmsnell self-assigned this Sep 5, 2017
@zbjornson
Copy link
Collaborator Author

Hey @dmsnell, any luck finding the admin of this repo? :)

@dmsnell
Copy link
Member

dmsnell commented Nov 5, 2017

@zbjornson do we need the fix in canvas.cc in order to add Appveyor? Can you provide some context for that fix and why it's there, what it's fixing? Seems like we're changing the line under an existing comment and it's not clear if that comment needs to be altered before merging this in.

@zbjornson
Copy link
Collaborator Author

That commit was already merged, I just haven't rebased. We need the admin of this repo to enable Appveyor though.

@dmsnell
Copy link
Member

dmsnell commented Nov 5, 2017

@zbjornson I'm getting the Appveyor account setup. I may need some help in the next few days getting it configured as we need it to be here, but I'll let you know.

@dmsnell
Copy link
Member

dmsnell commented Nov 5, 2017

@zbjornson in the meantime, would you mind rebasing this branch against the current master?

@zbjornson
Copy link
Collaborator Author

@dmsnell great to hear, thank! Rebased.

(While I have your attention... #914 is the other issue where we're seeking the help of an admin.)

@dmsnell
Copy link
Member

dmsnell commented Nov 5, 2017

Although the Appveyor account isn't established yet I'm going to go ahead and merge this in for now. Honestly I don't know how to review this but I can tell it shouldn't cause trouble. Thanks for your contributions!

@dmsnell dmsnell merged commit f284dc5 into Automattic:master Nov 5, 2017
@zbjornson zbjornson deleted the appveyor branch November 5, 2017 23:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants