File tree 8 files changed +71
-4
lines changed
8 files changed +71
-4
lines changed Original file line number Diff line number Diff line change 84
84
condition : <<parameters.node-version>>
85
85
steps :
86
86
- run : |
87
- [ -f /usr/local/bin/node<<parameters.node-version>> ] && ln -s /usr/local/bin/node<<parameters.node-version>> /usr/local/bin/node || true
87
+ if [ -x "$(command -v nvm)" ]; then
88
+ nvm use <<parameters.node-version>>
89
+ else
90
+ [ -f /usr/local/bin/node<<parameters.node-version>> ] && ln -s /usr/local/bin/node<<parameters.node-version>> /usr/local/bin/node || true
91
+ fi
88
92
- run :
89
93
name : Setup Environment Variables
90
94
command : |
Original file line number Diff line number Diff line change 2
2
.idea /
3
3
.nyc_output /
4
4
.vscode /
5
+ api /
5
6
build /
7
+ cache /
8
+ coverage /
9
+ debug /
6
10
deps /
7
11
dist /
12
+ docs /
13
+ examples /
8
14
lib /binding /node_libcurl.node
9
15
node_modules /
16
+ tsconfig.tsbuildinfo
10
17
website /
11
- docs /
18
+ yarn-error.log
Original file line number Diff line number Diff line change
1
+ # This directory is used for cache of deps of dockerfiles used for
2
+ # Some custom builds done manually
3
+ *
4
+ ! .gitignore
Original file line number Diff line number Diff line change
1
+ ## ARM Prebuilt Binaries
2
+
3
+ Those are scripts to create prebuilt binaries for the addon on ARM architecture.
4
+
5
+ They were built to be run from Windows (hence the powershell script).
Original file line number Diff line number Diff line change
1
+ FROM jonathancardoso/ci-arm32v7
2
+
3
+ # docker run --rm --name node-libcurl-arm32v7 -it -v E:\\jc\\node-libcurl:/home/circleci/node-libcurl -v /home/circleci/node-libcurl/node_modules/ -v E:\\jc\\.cache\\electron:/home/circleci/.cache/electron -v E:\\jc\\node-libcurl\\debug\\image-deps-arm32v7:/home/circleci/deps/ node-libcurl-arm32v7
4
+ # cd ~/node-libcurl && sudo chown circleci:circleci -R ./ && sudo chown circleci:circleci -R ~/.cache
5
+ # PUBLISH_BINARY=false GIT_TAG="" GIT_COMMIT="" TARGET_ARCH="armv7" ./scripts/ci/build.sh
6
+ ENTRYPOINT [ "/bin/bash" ]
Original file line number Diff line number Diff line change
1
+ param (
2
+ [ValidateSet (' armv7' )][string ]$arch = " armv7" ,
3
+ [string ]$libcurl = " 7.64.1" ,
4
+ [string ]$token = $env: GITHUB_RELEASE_TOKEN ,
5
+ [string ]$node = " 10"
6
+ )
7
+
8
+ $currentDir = Get-Location
9
+ $imageName = " node-libcurl-$arch "
10
+
11
+ Write-Host $arch
12
+ Write-Host $token
13
+ Write-Host $currentDir
14
+ Write-Host $imageName
15
+
16
+ docker build - t $imageName -f " ${currentDir} /scripts/arm/${arch} .dockerfile" .
17
+
18
+ docker run -- rm -- name $imageName - it `
19
+ - v " ${currentDir} :/home/circleci/node-libcurl/" `
20
+ - v " /home/circleci/node-libcurl/node_modules/" `
21
+ - v " /home/circleci/node-libcurl/debug/" `
22
+ - v " ${currentDir} /cache/image-deps-${arch} :/home/circleci/deps/" `
23
+ - e PUBLISH_BINARY= true `
24
+ - e TARGET_ARCH= $arch `
25
+ - e LIBCURL_RELEASE= $libcurl `
26
+ - e LATEST_LIBCURL_RELEASE= $libcurl `
27
+ -- entrypoint " /bin/bash" `
28
+ $imageName `
29
+ - c " source ~/.bashrc && nvm use $node && ~/node-libcurl/scripts/arm/publish-binary.sh"
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ cd ~ /node-libcurl
4
+
5
+ user=$( whoami)
6
+
7
+ # fix permissions for directories created when mounting volumes from Windows
8
+ sudo chown $user :$user -R ./ && sudo chown $user :$user -R ~ /.cache
9
+
10
+ ./scripts/ci/build.sh
Original file line number Diff line number Diff line change @@ -193,7 +193,7 @@ ls -al $OPENLDAP_BUILD_FOLDER/lib
193
193
# Build libcurl
194
194
# ##################
195
195
LIBCURL_ORIGINAL_RELEASE=${LIBCURL_RELEASE:- LATEST}
196
- LATEST_LIBCURL_RELEASE=$( ./scripts/ci/get-latest-libcurl-version.sh)
196
+ LATEST_LIBCURL_RELEASE=${LATEST_LIBCURL_RELEASE :- $ (./ scripts/ ci/ get-latest-libcurl-version.sh)}
197
197
LIBCURL_RELEASE=$LIBCURL_ORIGINAL_RELEASE
198
198
if [[ $LIBCURL_RELEASE == " LATEST" ]]; then
199
199
LIBCURL_RELEASE=$LATEST_LIBCURL_RELEASE
289
289
fi
290
290
291
291
target=` echo $target | sed ' s/^v//' `
292
+ # ia32, x64, armv7, etc
293
+ target_arch=${TARGET_ARCH:- " x64" }
292
294
293
295
# Build Addon
294
296
export npm_config_curl_config_bin=" $LIBCURL_DEST_FOLDER /build/$LIBCURL_RELEASE /bin/curl-config"
@@ -297,7 +299,7 @@ export npm_config_build_from_source="true"
297
299
export npm_config_runtime=" $runtime "
298
300
export npm_config_dist_url=" $dist_url "
299
301
export npm_config_target=" $target "
300
- export npm_config_target_arch=" x64 "
302
+ export npm_config_target_arch=" $target_arch "
301
303
302
304
yarn install --frozen-lockfile
303
305
You can’t perform that action at this time.
0 commit comments