-
Notifications
You must be signed in to change notification settings - Fork 1.3k
AppVeyor: fully automated build of 32- and 64-bit Windows binaries #1135
Conversation
I'd love to have your feedback @am11 @xzyfer. Right now it looks pretty cool to me! See the demo release https://github.com/saper/node-sass/releases/tag/v3.3.auto - one binary didn't make it due to timeout. |
@saper NEAT!
You could try YAML style inheritance eg.
|
This is brilliant! 👍 @xzyfer, I didn't knew about the YAML inheritance! Thanks for enlightening us. 😄 |
https://ci.appveyor.com/tools/validate-yaml says: I think I have enough AppVeyor torture for today :) |
IIRC merging is a common, but non-standard extension. I guess AppVeyors YAML parser doesn't support it :( |
I have disabled artifact storage for the casual |
AFAICT, there is no limit on storage for Free or Pro accounts on AppVeyor cloud. At least I couldn't find it documented anywhere. Over at LibSass.net, I packaged the entire project folder (with sources) in artifacts and it has not complained so far: https://github.com/darrenkopp/libsass-net/blob/5c0ccec56/appveyor.yml#L20 (which is probably not a good idea to store ~60MBs x 4 jobs per commit and will probably violate the general "fair usage" clause of any cloud storage at some point) |
So the current setup (build for the release only) seems to be okay. We still need to push the artifacts using your PowerShell snippet since otherwise AppVeyor refuses to deploy the files. (You cannot deploy out of the build files). Maybe they delete artifacts once the build logs are removed, but I doubt it (extra effort + general cloudy "no delete" policy). |
Could we plug this into node-pre-gyp? I like automating this but I'd rather not have a bespoke solution. |
... er which one you do not like? Not sure what I was talking about:) |
Here is a completed build: https://github.com/saper/node-sass/releases/tag/v3.3.build I am a bit unhappy about http://bit.ly/twoBuilds since it's really tricky to get the build running on the |
2b7307b
to
8d0a6da
Compare
For pull requests and pushes to master just build 32-bit binaries and do not store artifacts. Whenever a tag is pushed to the "release" branch - produce full set of 32-bit and 64-bit binaries, create a GitHub release (if does not exist already) and attach the binaries to the release. Issue open: http://bit.ly/twoBuilds AppVeyor starts two builds in response to the "new commit" and "new tag" events.
8d0a6da
to
73b52c9
Compare
matrix: | ||
- nodejs_version: 0.10 | ||
- nodejs_version: 0.12 | ||
- nodejs_version: 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been thinking about this and I don't like AppVeyor creating the GH releases for us. I'd personally rather keep this as a manual step for the interim, until we move to I also personally really dislike having release notes a commit message. Release notes tend to be
|
On Mon, 14 Sep 2015, Michael Mifsud wrote:
There is no magic that node-pre-gyp provides. It cannot create GH release
You can always edit it on GitHub. I only needed something I haven't tested this, but if you create the release |
Thinking about the double build problem. I think the problem is that you're I almost exclusively rely on GH releases for creating tags.
|
For reference by GH release workflow is
When CI is green
|
Fix call function incorrectly expanding map arguments
For pull requests and pushes to master just build 32-bit binaries
and do not store artifacts.
Whenever a tag is pushed to the "release" branch - produce
full set of 32-bit and 64-bit binaries, create a GitHub
release (if does not exist already) and attach the binaries
to the release.
Issues open:
http://bit.ly/twoBuilds
AppVeyor starts two builds in response to the "new commit"
and "new tag" events.
http://bit.ly/bad_build_success
Parse error in the appveyor.yml causes the system to
silently ignore the commit.
http://bit.ly/appvLessDup
Is there a way to remove duplicate stanzas from
both configurations?