Skip to content

Commit 268d2b4

Browse files
committed
build: backport config for new CI infrastructure
PR-URL: #3965 Reviewed-By: Alexis Campailla <[email protected]> Reviewed-By: Johan Bergström <[email protected]>
1 parent ce0a488 commit 268d2b4

File tree

8 files changed

+262
-93
lines changed

8 files changed

+262
-93
lines changed

Makefile

Lines changed: 141 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ NINJA ?= ninja
66
DESTDIR ?=
77
SIGN ?=
88
FLAKY_TESTS ?= run
9+
STAGINGSERVER ?= node-www
910

11+
OSTYPE := $(shell uname -s | tr '[A-Z]' '[a-z]')
12+
13+
# Flags for packaging.
1014
NODE ?= ./node
1115

1216
# Default to verbose builds.
@@ -206,9 +210,45 @@ run-ci:
206210

207211
RAWVER=$(shell $(PYTHON) tools/getnodeversion.py)
208212
VERSION=v$(RAWVER)
213+
214+
# For nightly builds, you must set DISTTYPE to "nightly", "next-nightly" or
215+
# "custom". For the nightly and next-nightly case, you need to set DATESTRING
216+
# and COMMIT in order to properly name the build.
217+
# For the rc case you need to set CUSTOMTAG to an appropriate CUSTOMTAG number
218+
219+
ifndef DISTTYPE
220+
DISTTYPE=release
221+
endif
222+
ifeq ($(DISTTYPE),release)
223+
FULLVERSION=$(VERSION)
224+
else # ifeq ($(DISTTYPE),release)
225+
ifeq ($(DISTTYPE),custom)
226+
ifndef CUSTOMTAG
227+
$(error CUSTOMTAG is not set for DISTTYPE=custom)
228+
endif # ifndef CUSTOMTAG
229+
TAG=$(CUSTOMTAG)
230+
else # ifeq ($(DISTTYPE),custom)
231+
ifndef DATESTRING
232+
$(error DATESTRING is not set for nightly)
233+
endif # ifndef DATESTRING
234+
ifndef COMMIT
235+
$(error COMMIT is not set for nightly)
236+
endif # ifndef COMMIT
237+
ifneq ($(DISTTYPE),nightly)
238+
ifneq ($(DISTTYPE),next-nightly)
239+
$(error DISTTYPE is not release, custom, nightly or next-nightly)
240+
endif # ifneq ($(DISTTYPE),next-nightly)
241+
endif # ifneq ($(DISTTYPE),nightly)
242+
TAG=$(DISTTYPE)$(DATESTRING)$(COMMIT)
243+
endif # ifeq ($(DISTTYPE),custom)
244+
FULLVERSION=$(VERSION)-$(TAG)
245+
endif # ifeq ($(DISTTYPE),release)
246+
247+
DISTTYPEDIR ?= $(DISTTYPE)
248+
RELEASE=$(shell sed -ne 's/\#define NODE_VERSION_IS_RELEASE \([01]\)/\1/p' src/node_version.h)
209249
NODE_DOC_VERSION=$(VERSION)
210-
RELEASE=$(shell $(PYTHON) tools/getnodeisrelease.py)
211-
PLATFORM=$(shell uname | tr '[:upper:]' '[:lower:]')
250+
NPMVERSION=v$(shell cat deps/npm/package.json | grep '"version"' | sed 's/^[^:]*: "\([^"]*\)",.*/\1/')
251+
212252
ifeq ($(findstring x86_64,$(shell uname -m)),x86_64)
213253
DESTCPU ?= x64
214254
else
@@ -223,59 +263,62 @@ else
223263
ARCH=x86
224264
endif
225265
endif
226-
TARNAME=node-$(VERSION)
227-
ifdef NIGHTLY
228-
TAG = nightly-$(NIGHTLY)
229-
TARNAME=node-$(VERSION)-$(TAG)
230-
endif
231-
TARBALL=$(TARNAME).tar.gz
232-
BINARYNAME=$(TARNAME)-$(PLATFORM)-$(ARCH)
233-
BINARYTAR=$(BINARYNAME).tar.gz
234-
PKG=out/$(TARNAME).pkg
235-
PACKAGEMAKER ?= /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
236266

237-
PKGSRC=nodejs-$(DESTCPU)-$(RAWVER).tgz
238-
ifdef NIGHTLY
239-
PKGSRC=nodejs-$(DESTCPU)-$(RAWVER)-$(TAG).tgz
267+
# enforce "x86" over "ia32" as the generally accepted way of referring to 32-bit intel
268+
ifeq ($(ARCH),ia32)
269+
override ARCH=x86
270+
endif
271+
ifeq ($(DESTCPU),ia32)
272+
override DESTCPU=x86
240273
endif
241274

242-
dist: doc $(TARBALL) $(PKG)
243-
275+
TARNAME=node-$(FULLVERSION)
276+
TARBALL=$(TARNAME).tar
277+
BINARYNAME=$(TARNAME)-$(OSTYPE)-$(ARCH)
278+
BINARYTAR=$(BINARYNAME).tar
279+
PKG=$(TARNAME).pkg
280+
PACKAGEMAKER ?= /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
244281
PKGDIR=out/dist-osx
245282

246283
release-only:
247284
@if [ "$(shell git status --porcelain | egrep -v '^\?\? ')" = "" ]; then \
248285
exit 0 ; \
249286
else \
250-
echo "" >&2 ; \
287+
echo "" >&2 ; \
251288
echo "The git repository is not clean." >&2 ; \
252289
echo "Please commit changes before building release tarball." >&2 ; \
253290
echo "" >&2 ; \
254291
git status --porcelain | egrep -v '^\?\?' >&2 ; \
255292
echo "" >&2 ; \
256293
exit 1 ; \
257294
fi
258-
@if [ "$(NIGHTLY)" != "" -o "$(RELEASE)" = "1" ]; then \
295+
@if [ "$(DISTTYPE)" != "release" -o "$(RELEASE)" = "1" ]; then \
259296
exit 0; \
260297
else \
261-
echo "" >&2 ; \
298+
echo "" >&2 ; \
262299
echo "#NODE_VERSION_IS_RELEASE is set to $(RELEASE)." >&2 ; \
263-
echo "Did you remember to update src/node_version.cc?" >&2 ; \
264-
echo "" >&2 ; \
300+
echo "Did you remember to update src/node_version.h?" >&2 ; \
301+
echo "" >&2 ; \
265302
exit 1 ; \
266303
fi
267304

268-
pkg: $(PKG)
269-
270305
$(PKG): release-only
271306
rm -rf $(PKGDIR)
272307
rm -rf out/deps out/Release
273-
$(PYTHON) ./configure --without-snapshot --dest-cpu=ia32 --tag=$(TAG)
308+
$(PYTHON) ./configure \
309+
--dest-cpu=ia32 \
310+
--tag=$(TAG) \
311+
--without-snapshot \
312+
$(CONFIG_FLAGS)
274313
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)/32
275314
rm -rf out/deps out/Release
276-
$(PYTHON) ./configure --without-snapshot --dest-cpu=x64 --tag=$(TAG)
315+
$(PYTHON) ./configure \
316+
--dest-cpu=x64 \
317+
--tag=$(TAG) \
318+
--without-snapshot \
319+
$(CONFIG_FLAGS)
277320
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)
278-
SIGN="$(APP_SIGN)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
321+
SIGN="$(CODESIGN_CERT)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
279322
lipo $(PKGDIR)/32/usr/local/bin/node \
280323
$(PKGDIR)/usr/local/bin/node \
281324
-output $(PKGDIR)/usr/local/bin/node-universal \
@@ -286,7 +329,15 @@ $(PKG): release-only
286329
--id "org.nodejs.Node" \
287330
--doc tools/osx-pkg.pmdoc \
288331
--out $(PKG)
289-
SIGN="$(INT_SIGN)" PKG="$(PKG)" bash tools/osx-productsign.sh
332+
SIGN="$(PRODUCTSIGN_CERT)" PKG="$(PKG)" bash tools/osx-productsign.sh
333+
334+
pkg: $(PKG)
335+
336+
pkg-upload: pkg
337+
ssh $(STAGINGSERVER) "mkdir -p nodejs/$(DISTTYPEDIR)/$(FULLVERSION)"
338+
chmod 664 node-$(FULLVERSION).pkg
339+
scp -p node-$(FULLVERSION).pkg $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).pkg
340+
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).pkg.done"
290341

291342
$(TARBALL): release-only node doc
292343
git archive --format=tar --prefix=$(TARNAME)/ HEAD | tar xf -
@@ -302,6 +353,39 @@ $(TARBALL): release-only node doc
302353

303354
tar: $(TARBALL)
304355

356+
tar-upload: tar
357+
ssh $(STAGINGSERVER) "mkdir -p nodejs/$(DISTTYPEDIR)/$(FULLVERSION)"
358+
chmod 664 node-$(FULLVERSION).tar.gz
359+
scp -p node-$(FULLVERSION).tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).tar.gz
360+
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).tar.gz.done"
361+
362+
doc-upload: tar
363+
ssh $(STAGINGSERVER) "mkdir -p nodejs/$(DISTTYPEDIR)/$(FULLVERSION)"
364+
chmod -R ug=rw-x+X,o=r+X out/doc/
365+
scp -pr out/doc/ $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/docs/
366+
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/docs.done"
367+
368+
$(TARBALL)-headers: config.gypi release-only
369+
$(PYTHON) ./configure \
370+
--prefix=/ \
371+
--dest-cpu=$(DESTCPU) \
372+
--tag=$(TAG) \
373+
$(CONFIG_FLAGS)
374+
HEADERS_ONLY=1 $(PYTHON) tools/install.py install '$(TARNAME)' '/'
375+
find $(TARNAME)/ -type l | xargs rm # annoying on windows
376+
tar -cf $(TARNAME)-headers.tar $(TARNAME)
377+
rm -rf $(TARNAME)
378+
gzip -c -f -9 $(TARNAME)-headers.tar > $(TARNAME)-headers.tar.gz
379+
rm $(TARNAME)-headers.tar
380+
381+
tar-headers: $(TARBALL)-headers
382+
383+
tar-headers-upload: tar-headers
384+
ssh $(STAGINGSERVER) "mkdir -p nodejs/$(DISTTYPEDIR)/$(FULLVERSION)"
385+
chmod 664 $(TARNAME)-headers.tar.gz
386+
scp -p $(TARNAME)-headers.tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.gz
387+
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/$(TARNAME)-headers.tar.gz.done"
388+
305389
$(BINARYTAR): release-only
306390
rm -rf $(BINARYNAME)
307391
rm -rf out/deps out/Release
@@ -316,6 +400,35 @@ $(BINARYTAR): release-only
316400

317401
binary: $(BINARYTAR)
318402

403+
binary-upload-arch: binary
404+
ssh $(STAGINGSERVER) "mkdir -p nodejs/$(DISTTYPEDIR)/$(FULLVERSION)"
405+
chmod 664 node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz
406+
scp -p node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz $(STAGINGSERVER):nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz
407+
ssh $(STAGINGSERVER) "touch nodejs/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz.done"
408+
409+
ifeq ($(OSTYPE),darwin)
410+
binary-upload:
411+
$(MAKE) binary-upload-arch \
412+
DESTCPU=ia32 \
413+
ARCH=x86 \
414+
DISTTYPE=$(DISTTYPE) \
415+
DATESTRING=$(DATESTRING) \
416+
COMMIT=$(COMMIT) \
417+
CUSTOMTAG=$(CUSTOMTAG) \
418+
CONFIG_FLAGS=$(CONFIG_FLAGS)
419+
$(MAKE) binary-upload-arch \
420+
DESTCPU=x64 \
421+
ARCH=x64 \
422+
DISTTYPE=$(DISTTYPE) \
423+
DATESTRING=$(DATESTRING) \
424+
COMMIT=$(COMMIT) \
425+
CUSTOMTAG=$(CUSTOMTAG) \
426+
CONFIG_FLAGS=$(CONFIG_FLAGS)
427+
else
428+
binary-upload: binary-upload-arch
429+
endif
430+
431+
319432
$(PKGSRC): release-only
320433
rm -rf dist out
321434
$(PYTHON) configure --prefix=/ --without-snapshot \
@@ -329,11 +442,6 @@ $(PKGSRC): release-only
329442

330443
pkgsrc: $(PKGSRC)
331444

332-
dist-upload: $(TARBALL) $(PKG)
333-
ssh [email protected] mkdir -p web/nodejs.org/dist/$(VERSION)
334-
scp $(TARBALL) [email protected]:~/web/nodejs.org/dist/$(VERSION)/$(TARBALL)
335-
scp $(PKG) [email protected]:~/web/nodejs.org/dist/$(VERSION)/$(TARNAME).pkg
336-
337445
wrkclean:
338446
$(MAKE) -C tools/wrk/ clean
339447
rm tools/wrk/wrk

configure

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,10 @@ def configure_node(o):
478478

479479
host_arch = host_arch_win() if os.name == 'nt' else host_arch_cc()
480480
target_arch = options.dest_cpu or host_arch
481+
# ia32 is preferred by the build tools (GYP) over x86 even if we prefer the latter
482+
# the Makefile resets this to x86 afterward
483+
if target_arch == 'x86':
484+
target_arch = 'ia32'
481485
o['variables']['host_arch'] = host_arch
482486
o['variables']['target_arch'] = target_arch
483487

@@ -665,7 +669,6 @@ def configure_winsdk(o):
665669

666670
print "ctrpp not found in WinSDK path--using pre-gen files from tools/msvs/genfiles."
667671

668-
669672
# determine the "flavor" (operating system) we're building for,
670673
# leveraging gyp's GetFlavor function
671674
flavor_params = {};

src/node_version.h

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,31 @@
2828

2929
#define NODE_VERSION_IS_RELEASE 0
3030

31-
#ifndef NODE_TAG
32-
# define NODE_TAG ""
33-
#endif
34-
3531
#ifndef NODE_STRINGIFY
3632
#define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)
3733
#define NODE_STRINGIFY_HELPER(n) #n
3834
#endif
3935

40-
#if NODE_VERSION_IS_RELEASE
41-
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
42-
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
43-
NODE_STRINGIFY(NODE_PATCH_VERSION) \
44-
NODE_TAG
36+
#ifndef NODE_TAG
37+
# if NODE_VERSION_IS_RELEASE
38+
# define NODE_TAG ""
39+
# else
40+
# define NODE_TAG "-pre"
41+
# endif
4542
#else
43+
// NODE_TAG is passed without quotes when rc.exe is run from msbuild
44+
# define NODE_EXE_VERSION NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
45+
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
46+
NODE_STRINGIFY(NODE_PATCH_VERSION) \
47+
NODE_STRINGIFY(NODE_TAG)
48+
#endif
49+
4650
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
4751
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
4852
NODE_STRINGIFY(NODE_PATCH_VERSION) \
49-
NODE_TAG "-pre"
53+
NODE_TAG
54+
#ifndef NODE_EXE_VERSION
55+
# define NODE_EXE_VERSION NODE_VERSION_STRING
5056
#endif
5157

5258
#define NODE_VERSION "v" NODE_VERSION_STRING

tools/msvs/msi/nodemsi.wixproj

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,33 @@
66
<ProductVersion>3.5</ProductVersion>
77
<ProjectGuid>{1d808ff0-b5a9-4be9-859d-b334b6f48be2}</ProjectGuid>
88
<SchemaVersion>2.0</SchemaVersion>
9-
<OutputName>node-v$(NodeVersion)-$(Platform)</OutputName>
9+
<OutputName>node-v$(FullVersion)-$(Platform)</OutputName>
1010
<OutputType>Package</OutputType>
1111
<EnableProjectHarvesting>True</EnableProjectHarvesting>
1212
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
1313
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
1414
<NodeVersion Condition=" '$(NodeVersion)' == '' ">0.0.0.0</NodeVersion>
1515
</PropertyGroup>
1616
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
17-
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
17+
<OutputPath>..\..\..\</OutputPath>
1818
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
19-
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
19+
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
2020
</PropertyGroup>
2121
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
22-
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
22+
<OutputPath>..\..\..\</OutputPath>
2323
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
24-
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
24+
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
2525
</PropertyGroup>
2626
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
27-
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
27+
<OutputPath>..\..\..\</OutputPath>
2828
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
29-
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
29+
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
3030
<Cultures>en-US</Cultures>
3131
</PropertyGroup>
3232
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
33-
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
33+
<OutputPath>..\..\..\</OutputPath>
3434
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
35-
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
35+
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
3636
</PropertyGroup>
3737
<PropertyGroup>
3838
<EnableProjectHarvesting>True</EnableProjectHarvesting>

tools/msvs/msi/product.wxs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<?define ProductName = "Node.js" ?>
66
<?define ProductDescription = "Node.js" ?>
7-
<?define ProductAuthor = "Joyent, Inc. and other Node contributors" ?>
7+
<?define ProductAuthor = "Node.js Foundation" ?>
88

99
<?define RegistryKeyPath = "SOFTWARE\Node.js" ?>
1010

@@ -23,7 +23,7 @@
2323
<Media Id="1" Cabinet="media1.cab" EmbedCab="yes"/>
2424

2525
<MajorUpgrade AllowSameVersionUpgrades="yes"
26-
DowngradeErrorMessage="A later version of node.js is already installed. Setup will now exit."/>
26+
DowngradeErrorMessage="A later version of Node.js is already installed. Setup will now exit."/>
2727

2828
<Icon Id="NodeIcon" SourceFile="$(var.RepoDir)\src\res\node.ico"/>
2929
<Property Id="ARPPRODUCTICON" Value="NodeIcon"/>

tools/osx-codesign.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
set -x
44
set -e
55

6-
if ! [ -n "$SIGN" ] && [ $STEP -eq 1 ]; then
6+
if [ "X$SIGN" == "X" ]; then
77
echo "No SIGN environment var. Skipping codesign." >&2
88
exit 0
99
fi

tools/osx-productsign.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
set -x
44
set -e
55

6-
if ! [ -n "$SIGN" ]; then
6+
if [ "X$SIGN" == "X" ]; then
77
echo "No SIGN environment var. Skipping codesign." >&2
88
exit 0
99
fi

0 commit comments

Comments
 (0)