Skip to content

Commit

Permalink
Publish debug file (PDB) of binding.node
Browse files Browse the repository at this point in the history
To ensure proper debugging of problems of Windows,
publish PDB debug file along with the binary.

In order to keep paths to the source files clean apply
the technique described by John Robbins in
"PDB Files: what every developer must know"
http://www.wintellect.com/devcenter/jrobbins/pdb-files-what-every-developer-must-know
and build node-sass in the "S:\node_modules\node-sass"

During debugging, source files can be referenced
via the virtual "S:" drive.

This allows users and developers to assign S: drive to the project
root ("node_modules") and access source files without having to redefine
source paths.

Artifact names are generated in a nice, Lisp-styled functional PowerShell
hidden in a YAML folded scalar!

Add node 5 to the PR testing build.
  • Loading branch information
saper committed Jan 10, 2016
1 parent ec18ef5 commit 49288eb
Showing 1 changed file with 29 additions and 4 deletions.
33 changes: 29 additions & 4 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,15 @@

build: off

clone_folder: c:\projects\node_modules\node-sass

# http://www.wintellect.com/devcenter/jrobbins/pdb-files-what-every-developer-must-know
# http://help.appveyor.com/discussions/kb/32-how-to-build-on-logical-drive-created-by-subst
init:
- cmd: >-
subst s: c:\projects
- ps: set-location -path s:\node_modules\node-sass

cache:
- '%userprofile%\.node-gyp'
- '%AppData%\npm-cache'
Expand All @@ -41,15 +50,23 @@
test_script: npm test

before_deploy:
# Save artifact with full qualified names of binding.node
# Save artifacts with full qualified names of binding.node and binding.pdb
# (which we use in node-sass-binaries repo)
- ps: Get-ChildItem .\vendor\**\*.node | % { Push-AppveyorArtifact $_.FullName -FileName (($_.FullName.Split('\\') | Select-Object -Last 2) -join '_') }

- ps: >-
Get-ChildItem .\vendor\**\*.node | % {
( $BindingName = $_.FullName ).Split('\\') |
Select-Object -Last 2 | Select-Object -First 1 } |
.{ process { (
@( $BindingName,
( ( $_, "binding.node" ) -join '_' ) ),
@( ".\build\Release\binding.pdb",
( ( $_, "binding.pdb" ) -join '_' ) )
) } } | % { Push-AppveyorArtifact $_[0] -FileName $_[1] }
deploy:
- provider: GitHub
description: $(APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED)
artifact: /.*binding\.node/ # upload all NuGet packages to release assets
artifact:
auth_token:
secure: tt+p58W9Q49faww/o0CODJI8e++YEX5THVlpXlRIigO4xHjE8NKigi0oxr1b2PJE
on:
Expand All @@ -68,6 +85,13 @@

build: off

clone_folder: c:\projects\node_modules\node-sass

init:
- cmd: >-
subst s: c:\projects
- ps: set-location -path s:\node_modules\node-sass

cache:
- '%userprofile%\.node-gyp'
- '%AppData%\npm-cache'
Expand All @@ -81,6 +105,7 @@
- nodejs_version: 2
- nodejs_version: 3
- nodejs_version: 4
- nodejs_version: 5

install:
- ps: Install-Product node $env:nodejs_version $env:platform
Expand Down

0 comments on commit 49288eb

Please sign in to comment.