Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Paarth Agarwal
purr-data
Commits
12bd57bd
Commit
12bd57bd
authored
Sep 17, 2020
by
Jonathan Wilkes
Browse files
Merge branch 'samthursfield/purr-data-sam/ci-cache-nwjs'
parents
e9d38d23
04e04e8c
Changes
3
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
12bd57bd
# This file creates automated tests on GitLab CI for Purr Data.
# See https://docs.gitlab.com/ee/ci/yaml/README.html for details of the format.
cache
:
key
:
global-cache
# These are script snippets used in the jobs defined below.
.fetch_nwjs
:
&fetch_nwjs
-
nwjs_filename=$(l2ork_addons/nwjs_version_for_platform.sh)
-
if [ -e /cache/$nwjs_filename ]; then cp /cache/$nwjs_filename ./l2ork_addons ; fi
.debian_image_preparation
:
&debian_image_preparation
-
echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
-
echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
...
...
@@ -12,6 +19,7 @@
-
cd l2ork_addons
-
export V=0
-
./tar_em_up.sh $BUILD_TYPE_FLAG
-
cp nwjs-* /cache/
-
cd ..
-
echo -e "section_end:`date +%s`:build_all\r\e[0K"
...
...
@@ -46,6 +54,7 @@ debian_stretch_x86_64_deb:
BUILD_TYPE_FLAG
:
-B
before_script
:
-
*debian_image_preparation
-
*fetch_nwjs
script
:
-
*build_all
-
*test_linux
...
...
@@ -64,6 +73,7 @@ ubuntu_16.04_x86_64_deb:
BUILD_TYPE_FLAG
:
-B
before_script
:
-
*debian_image_preparation
-
*fetch_nwjs
script
:
-
*build_all
-
*test_linux
...
...
@@ -80,6 +90,8 @@ osx_10.11_x86_64_dmg:
-
dmg
variables
:
BUILD_TYPE_FLAG
:
-X
before_script
:
-
*fetch_nwjs
script
:
-
echo `pwd`
-
*build_all
...
...
@@ -97,6 +109,8 @@ osx_10.8_x86_64_dmg:
-
dmg
variables
:
BUILD_TYPE_FLAG
:
-X
before_script
:
-
*fetch_nwjs
script
:
-
echo `pwd`
-
*build_all
...
...
@@ -113,6 +127,8 @@ windows_i386_innosetup:
-
i386
variables
:
BUILD_TYPE_FLAG
:
-Z
before_script
:
-
*fetch_nwjs
script
:
-
echo `pwd`
-
*build_all
...
...
@@ -132,6 +148,7 @@ raspbian_stretch_armv7l_deb:
BUILD_TYPE_FLAG
:
-r
before_script
:
-
*debian_image_preparation
-
*fetch_nwjs
script
:
-
echo `pwd`
-
*build_all
...
...
l2ork_addons/nwjs_version_for_platform.sh
0 → 100755
View file @
12bd57bd
#!/bin/bash
# nwjs_version_for_platform.sh
#
# Determine the version of nw.js that Purr Data should use on a given platform.
#
# Variables "$os" and "$arch" can be set in the environment, or autodetected.
set
-e
if
[
-z
"
$os
"
]
;
then
os
=
`
uname
|
tr
'[:upper:]'
'[:lower:]'
`
if
[[
$os
==
*
"mingw32"
*
]]
;
then
os
=
win
elif
[[
$os
==
"darwin"
]]
;
then
os
=
osx
fi
fi
if
[
-z
"
$arch
"
]
;
then
if
[
`
getconf LONG_BIT
`
-eq
32
]
;
then
arch
=
"ia32"
else
arch
=
"x64"
fi
# for rpi
if
[
`
uname
-m
`
==
"armv7l"
]
;
then
arch
=
"armv7l"
fi
# for pinebook, probably also rpi 4
if
[
`
uname
-m
`
==
"aarch64"
]
;
then
arch
=
"armv7l"
fi
fi
# MSYS: Pick the right architecture depending on whether we're
# running in the 32 or 64 bit version of the MSYS shell.
if
[[
$os
==
"win"
]]
;
then
arch
=
"ia32"
elif
[[
$os
==
"win64"
]]
;
then
arch
=
"x64"
fi
if
[[
$os
==
"win"
||
$os
==
"win64"
||
$os
==
"osx"
]]
;
then
ext
=
"zip"
else
ext
=
"tar.gz"
fi
if
[[
$osx_version
==
"10.8"
]]
;
then
# We need the lts version to be able to run on legacy systems.
nwjs_version
=
"v0.14.7"
else
# temporary kluge for rpi-- only 0.15.1 is available atm
if
[
$arch
==
"armv7l"
]
;
then
nwjs_version
=
"v0.17.6"
else
nwjs_version
=
"v0.24.4"
fi
fi
nwjs
=
"nwjs-sdk"
if
[[
$os
==
"win64"
]]
;
then
nwjs_dirname
=
${
nwjs
}
-
${
nwjs_version
}
-win-
${
arch
}
else
nwjs_dirname
=
${
nwjs
}
-
${
nwjs_version
}
-
${
os
}
-
${
arch
}
fi
nwjs_filename
=
${
nwjs_dirname
}
.
${
ext
}
echo
$nwjs_filename
l2ork_addons/tar_em_up.sh
View file @
12bd57bd
...
...
@@ -105,6 +105,7 @@ do case $Option in
esac
done
script_dir
=
$(
dirname
$0
)
inst_dir
=
${
inst_dir
:-
/usr/local
}
# configure a light build if requested
...
...
@@ -163,82 +164,42 @@ fi
# Fetch the nw.js binary if we haven't already. We want to fetch it even
# for building with no libs, so we do it regardless of the options
#echo nwjs-sdk-v0.16.0-`uname | tr '[:upper:]' '[:lower:]'`
if
[
!
-d
"../pd/nw/nw"
]
;
then
if
[
`
getconf LONG_BIT
`
-eq
32
]
;
then
arch
=
"ia32"
else
arch
=
"x64"
fi
# for rpi
if
[
`
uname
-m
`
==
"armv7l"
]
;
then
arch
=
"armv7l"
fi
# for pinebook, probably also rpi 4
if
[
`
uname
-m
`
==
"aarch64"
]
;
then
arch
=
"armv7l"
fi
nwjs_filename
=
$(
$script_dir
/nwjs_version_for_platform.sh
)
# MSYS: Pick the right architecture depending on whether we're
# running in the 32 or 64 bit version of the MSYS shell.
if
[[
$os
==
"win"
]]
;
then
arch
=
"ia32"
elif
[[
$os
==
"win64"
]]
;
then
arch
=
"x64"
fi
if
[[
$os
==
"win"
||
$os
==
"win64"
||
$os
==
"osx"
]]
;
then
ext
=
"zip"
if
[
-e
"./
$nwjs_filename
"
]
;
then
echo
"Found
$nwjs_filename
"
else
ext
=
"tar.gz"
fi
if
[[
$osx_version
==
"10.8"
]]
;
then
# We need the lts version to be able to run on legacy systems.
nwjs_version
=
"v0.14.7"
else
# temporary kluge for rpi-- only 0.15.1 is available atm
if
[
$arch
==
"armv7l"
]
;
then
nwjs_version
=
"v0.17.6"
else
nwjs_version
=
"v0.24.4"
fi
fi
nwjs
=
"nwjs-sdk"
if
[[
$os
==
"win64"
]]
;
then
nwjs_dirname
=
${
nwjs
}
-
${
nwjs_version
}
-win-
${
arch
}
else
nwjs_dirname
=
${
nwjs
}
-
${
nwjs_version
}
-
${
os
}
-
${
arch
}
fi
nwjs_filename
=
${
nwjs_dirname
}
.
${
ext
}
nwjs_url
=
https://git.purrdata.net/jwilkes/nwjs-binaries/raw/master
nwjs_url
=
${
nwjs_url
}
/
$nwjs_filename
echo
"Fetching the nwjs binary from"
echo
"
$nwjs_url
"
if
!
wget
-nv
$nwjs_url
;
then
nwjs_url
=
https://dl.nwjs.io/
${
nwjs_version
}
/
$nwjs_filename
nwjs_version
=
$(
echo
$nwjs_filename
| egrep
-o
'v[^-]+'
)
nwjs_url
=
https://git.purrdata.net/jwilkes/nwjs-binaries/raw/master
nwjs_url
=
${
nwjs_url
}
/
$nwjs_filename
echo
"Fetching the nwjs binary from"
echo
"
$nwjs_url
"
wget
-nv
$nwjs_url
if
!
wget
-nv
$nwjs_url
;
then
nwjs_url
=
https://dl.nwjs.io/
${
nwjs_version
}
/
$nwjs_filename
echo
"Fetching the nwjs binary from"
echo
"
$nwjs_url
"
wget
-nv
$nwjs_url
fi
fi
if
[[
$os
==
"win"
||
$os
==
"win64"
||
$os
==
"osx"
]]
;
then
unzip
$nwjs_filename
nwjs_dirname
=
$(
basename
--suffix
=
.zip
$nwjs_filename
)
else
tar
-xf
$nwjs_filename
nwjs_dirname
=
$(
basename
--suffix
=
.tar.gz
$nwjs_filename
)
fi
# Special case for arm binary's inconsistent directory name
# (It's not the same as the `uname -m` output)
if
[
$arch
==
"
armv7l
"
]
;
then
if
echo
$nwjs_filename
|
grep
-q
armv7l
;
then
nwjs_dirname
=
`
echo
$nwjs_dirname
|
sed
's/armv7l/arm/'
`
fi
mv
$nwjs_dirname
../pd/nw/nw
mv
$nwjs_dirname
../pd/nw/nw
# make sure the nw binary is executable on GNU/Linux
if
[[
$os
!=
"win"
&&
$dmg
==
0
]]
;
then
chmod
755 ../pd/nw/nw/nw
fi
rm
$nwjs_filename
fi
# For Windows, fetch the ASIO SDK if we don't have it already
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment