Commit Graph

956 Commits

Author SHA1 Message Date
Balena CI
eada1ab87e v11.16.4 2019-10-18 04:40:16 +03:00
Paulo Castro
59a7b9d12b Move npm version check from npm 'preinstall' to git 'pre-commit' hook
This should allow end users to use npm v6.4.1 that ships with Node 8,
while still requiring CLI developers to use npm v6.9.0 or later.

Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-10-18 00:25:23 +01:00
Balena CI
3bb5ca50b2 v11.16.3 2019-10-17 22:38:45 +03:00
Paulo Castro
eaffc2574f Fix npm install (missing automation/check-npm-version.js)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-10-17 19:57:09 +01:00
Balena CI
5142274e9d v11.16.2 2019-10-17 21:36:16 +03:00
Paulo Castro
e7c89cf77c Add npm preinstall check for npm version 6.9.0 or later
Older npm versions cause the npm-shrinkwrap.json file to be incorrectly
updated. This should avoid regression bugs related to issue #1332.
https://github.com/balena-io/balena-cli/issues/1332

Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-10-17 15:43:21 +01:00
Balena CI
09444f0cff v11.16.1 2019-10-17 14:23:47 +03:00
Thodoris Greasidis
ee3a0cc630 Fix shrinkwrap unwanted changes from older npm version
Change-type: patch
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-10-17 13:59:21 +03:00
Balena CI
b40498786a v11.16.0 2019-10-16 23:33:34 +03:00
Thodoris Greasidis
1f4382bea8 Add support for private device types
Resolves: #1471
Depends-on: https://github.com/balena-io/balena-sdk/pull/761
Depends-on: https://github.com/balena-io-modules/balena-config-json/pull/15
HQ: https://github.com/balena-io/balena/pull/1740
See: https://www.flowdock.com/app/rulemotion/resin-tech/threads/IGXgYQxfnJfGO8rtTMOJ2yUZ1RU
See: https://www.flowdock.com/app/rulemotion/resin-frontend/threads/FNuwNgrDfJGRcsoJI7yJV-bx5DD
Change-type: minor
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-10-16 16:26:19 +03:00
Balena CI
0cdf4d95e5 v11.15.0 2019-10-16 14:13:14 +03:00
Balena CI
f831bb4645 v11.14.5 2019-10-16 02:19:15 +03:00
Paulo Castro
05cb89725e Fix privilege elevation (sudo) for 'os initialize', 'join', 'leave'
* sudo shell arguments required escaping for 'os initialize'
* sudo was not working for standalone zip packages (incorrect
  Node.js path in argv[0])
* Interactive 'join' and 'leave' not working on Windows because
  'windosu' does not capture stderr.

Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-10-15 21:47:26 +01:00
Balena CI
43ae9b672c v11.14.4 2019-10-14 19:53:05 +03:00
Balena CI
4280a3cd4a v11.14.3 2019-10-14 16:55:01 +03:00
Paulo Castro
101a4bc209 Chore: replace typings/intercept-stdout with @types/intercept-stdout
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-10-10 16:02:41 +01:00
Balena CI
449461afae v11.14.2 2019-10-09 16:22:55 +03:00
Paulo Castro
7dd33adfd1 Fix 'balena build --emulated' on Windows (including default docker socket)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-10-09 13:10:49 +01:00
Balena CI
63fe3d41cc v11.14.1 2019-10-04 16:00:33 +03:00
Paulo Castro
78e627a471 Bump resin-multibuild to 4.3.1 (fix more cases of SecretRemovalError)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-10-04 12:33:39 +01:00
Balena CI
3adc06d11b v11.14.0 2019-10-03 14:33:52 +03:00
Balena CI
863eae42c5 v11.13.1 2019-09-30 17:36:18 +03:00
Balena CI
3718473f05 v11.13.0 2019-09-30 15:59:02 +03:00
Thodoris Greasidis
408f739e2d Bump balena-sdk to v12.12.0 to stop using image maker endpoints
Resolves: #1453
Depends-on: https://github.com/balena-io/balena-sdk/pull/735
Depends-on: https://github.com/balena-io-modules/balena-image-manager/pull/45
HQ: https://github.com/balena-io/balena/issues/1744
Change-type: minor
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-09-30 15:36:46 +03:00
Balena CI
f481d5edae v11.12.0 2019-09-25 13:20:45 +03:00
Thodoris Greasidis
f9d6a0ee72 Allow mixing armv7 & aarch64 devices in RPi 1 / zero apps
Resolves: #1448
HQ: https://github.com/balena-io/balena/issues/1905
Change-type: minor
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-09-24 13:22:13 +03:00
Balena CI
9ea999f15f v11.11.3 2019-09-23 11:47:15 +03:00
Balena CI
32c588db55 v11.11.2 2019-09-19 13:23:45 +03:00
Balena CI
606b6c88ab v11.11.1 2019-09-18 16:12:54 +03:00
Paulo Castro
c07b28e694 Migrate 'envs' and 'env rename' commands to oclif
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-09-18 12:54:31 +01:00
Paulo Castro
2ff427fb90 Refactor oclif integration and preparser
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-09-17 17:20:16 +01:00
Balena CI
3d89b0c7a1 v11.11.0 2019-09-16 21:59:27 +03:00
Balena CI
de8089b0bb v11.10.0 2019-09-16 21:13:23 +03:00
Balena CI
db5c473952 v11.9.7 2019-09-16 10:26:12 +03:00
Balena CI
73e9f801e2 v11.9.6 2019-09-12 15:27:34 +03:00
Paulo Castro
f76ca1804a Update balena-sdk from 11.18.0 to 12.10.0 (pre-req for #1153 and #1304)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-09-11 16:08:30 +01:00
Balena CI
d25ad328f3 v11.9.5 2019-09-11 14:29:15 +03:00
Balena CI
70714b6feb v11.9.4 2019-09-11 13:49:06 +03:00
Paulo Castro
09f20ecc1c Update etcher-sdk to v2.0.14 (pre-requisite to supporting Node 12)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-09-10 16:08:07 +01:00
Balena CI
b8b0221ce6 v11.9.3 2019-09-02 03:56:54 +03:00
Paulo Castro
fb1dce9dbb Add missing oclif-based commands to mixpanel tracking
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-09-01 23:42:21 +01:00
Balena CI
fedfb603f6 v11.9.2 2019-08-30 21:00:06 +03:00
Paulo Castro
7bb2741a5a Deploy scripts: edit GitHub release descriptions given semver ranges
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-08-30 18:09:58 +01:00
Balena CI
693a438d42 v11.9.1 2019-08-29 00:59:52 +03:00
Resin CI
192b751e57 v11.9.0 2019-08-22 16:33:03 +03:00
Paulo Castro
516fa90a20 Fix SecretRemovalError (balena build) when docker daemon arch != target arch
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-08-21 22:25:18 +01:00
Resin CI
56aabad8ad v11.8.3 2019-08-20 04:34:24 +03:00
Resin CI
ed084edc48 v11.8.2 2019-08-19 18:29:03 +03:00
Resin CI
2ee2bc8b02 v11.8.1 2019-08-16 09:51:01 +03:00
Lucian
730c09989d Fix incorrect arguments passed to oclif bootstrap function
Adds tests for existing oclif commands to avoid regressions

Change-type: patch
Signed-off-by: Lucian <lucian.buzzo@gmail.com>
2019-08-15 18:26:42 +01:00
Resin CI
9e0733a143 v11.8.0 2019-08-13 11:40:19 +03:00
Lucian
4d389bb6cc Implement full command testing, beginning with "balena version"
This also modifies the core CLI to be fed command programatically, which
is useful for being able to do thing like mock endpoints with tools like
"nock", and provide an easier debugging experience.
The tests utilise a "runCommand" helper that intercepts and captures
stdout/stderr writes and returns them once the command has finished
running. At this point the test implementation can parse the
stdout/stderr logs and assess nock interceptions to determine if the
command ran correctly.
This change also homogenises debug messages to start with `[debug]`,
however this is not strictly enforced by linting rules.

Change-type: minor
Signed-off-by: Lucian <lucian.buzzo@gmail.com>
2019-08-12 14:50:41 +01:00
Resin CI
6d6b3cb1a3 v11.7.10 2019-08-12 16:38:49 +03:00
Resin CI
2390ddc02d v11.7.9 2019-08-09 17:08:09 +03:00
Lucian
13610ef814 Convert test files to Typescript
Change-type: patch
Signed-off-by: Lucian <lucian.buzzo@gmail.com>
2019-08-08 16:50:50 +01:00
Resin CI
9c49890399 v11.7.8 2019-08-08 18:42:41 +03:00
Resin CI
90c4cbf2ae v11.7.7 2019-08-08 15:45:41 +03:00
Lucian
15dfdc2229 Remove mochainon dependency and replace with direct testing dependencies
Change-type: patch
Signed-off-by: Lucian <lucian.buzzo@gmail.com>
2019-08-08 10:04:32 +01:00
Resin CI
35110e0610 v11.7.6 2019-08-07 12:31:08 +03:00
Resin CI
9977451b07 v11.7.5 2019-08-06 12:23:48 +03:00
Resin CI
f0bd2f197d v11.7.4 2019-08-02 00:28:38 +03:00
Gergely Imreh
f9fc8fd2e8
Update unzip2 dependency
That dependency has been updated upstream, but not published to npm,
thus we are pulling the latest (0.2.8) version from our own fork.
Fork is created temporarily.

Fixes: #1373
Change-type: patch
Signed-off-by: Gergely Imreh <gergely@balena.io>
2019-08-01 18:35:30 +01:00
Resin CI
9ea5198bda v11.7.3 2019-07-22 16:42:50 +03:00
Resin CI
062fadfa49 v11.7.2 2019-07-18 17:46:59 +03:00
Alexis Svinartchouk
18fadf5634 Update balena-preload to ^8.2.1
Change-type: patch
2019-07-18 16:21:33 +02:00
Resin CI
80917b7198 v11.7.1 2019-07-17 23:21:01 +03:00
Resin CI
cd491a7935 v11.7.0 2019-07-15 19:51:36 +03:00
Paulo Castro
225408c57d Add "build secrets" and "build variables" support for push/build/deploy
to/on/via balena devices

Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-07-15 16:23:35 +01:00
Resin CI
9a270539c6 v11.6.1 2019-07-15 18:17:55 +03:00
Resin CI
e41ea6fb1a v11.6.0 2019-07-09 18:30:13 +03:00
Resin CI
6c26e1235c v11.5.0 2019-07-05 17:54:12 +03:00
Paulo Castro
7c750f9e43 balena CI: Add balena-cli executable signing step
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-07-04 20:01:08 +01:00
Paulo Castro
55bf4dc0f0 Add 'npm run package' command
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-07-04 20:01:07 +01:00
Paulo Castro
0afbd6f17a Refactor build:standalone / build:installer / run release
So that:
- Standalone zip files are created in the standalone step,
- oclif installers are renamed in the installer step, and
- npm run release (which is skipped by balena CI) is reduced to
  uploading the files to the GitHub releases page.

Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-07-04 20:01:07 +01:00
Resin CI
d485fd00a0 v11.4.4 2019-07-03 02:18:55 +03:00
Paulo Castro
c32d894e97 Add 'patches' to files section of package.json for npm publishing
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-07-02 21:00:01 +01:00
Giovanni Garufi
ad737b8e02 Add npm-shrinkwrap in package.json so that it gets published to the
registry

Change-type: patch
Signed-off-by: Giovanni Garufi <giovanni@balena.io>
2019-07-02 19:15:32 +02:00
Resin CI
bcc86fbcb6 v11.4.3 2019-07-01 13:23:47 +03:00
Resin CI
79e65025cb v11.4.2 2019-07-01 12:15:22 +03:00
Cameron Diver
adcc862acb Explicitly upgrade livepush version to 2.0.1 to pick up fix
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-07-01 09:59:07 +01:00
Resin CI
8bf884d425 v11.4.1 2019-06-28 18:55:39 +03:00
Paulo Castro
77089e31e4 Unpin selected dependencies following addition of npm-shrinkwrap.json
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-28 12:30:56 +01:00
Resin CI
d5586e12d4 v11.4.0 2019-06-27 19:01:52 +03:00
Paulo Castro
9d5ecb5f9c Add options to 'balena version' to show Node.js version
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-27 16:22:26 +01:00
Resin CI
a2ee48f2fb v11.3.6 2019-06-27 15:06:08 +03:00
Paulo Castro
34d7b84d1e Patch 'pkg' package to resolve 'preload' issue in standalone installs
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-27 00:50:35 +01:00
Resin CI
d999b901bb v11.3.5 2019-06-26 15:29:12 +03:00
Resin CI
df2e611c42 v11.3.4 2019-06-26 14:13:33 +03:00
Resin CI
f4612116b9 v11.3.3 2019-06-20 19:33:22 +03:00
Resin CI
436ad60f4e v11.3.2 2019-06-20 18:42:01 +03:00
Resin CI
6994499f14 v11.3.1 2019-06-18 15:03:27 +03:00
Resin CI
5e46815ac7 v11.3.0 2019-06-18 13:44:55 +03:00
Resin CI
66dfddc96d v11.2.2 2019-06-16 17:20:25 +03:00
Resin CI
46806c8377 v11.2.1 2019-06-12 16:00:40 +03:00
Resin CI
5e4daf8c3d v11.2.0 2019-06-11 15:53:33 +03:00
Thodoris Greasidis
825213c02a Add device OS update action
Resolves: #788
Depends-on: https://github.com/balena-io/balena-sdk/pull/638
Change-type: minor
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-06-11 15:27:23 +03:00
Resin CI
13cef01374 v11.1.0 2019-06-10 13:38:49 +03:00
Cameron Diver
8b5ebe0645 Pin prettier and add formatting changes
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-10 11:07:51 +01:00
Cameron Diver
24e49bf131 Cancel ongoing livepushes when a new change occurs
Also fix livepush logging when a new container is created (previously
the logs of the commands would stop working after this has happened)

Change-type: minor
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-06-07 15:59:27 +01:00
Resin CI
f8a9c10a77 v11.0.7 2019-06-07 04:01:30 +03:00
Resin CI
b78dd26f23 v11.0.6 2019-06-06 19:41:44 +03:00
Resin CI
2bbdfda92e v11.0.5 2019-06-06 16:51:58 +03:00
Resin CI
2b264df41b v11.0.4 2019-06-06 12:45:39 +03:00
Resin CI
ab5815c277 v11.0.3 2019-06-05 18:38:08 +03:00
Resin CI
e8325e8268 v11.0.2 2019-06-05 16:23:27 +03:00
Paulo Castro
4596005a1f Fix "--production" installation (missing patch-package dependency)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-05 13:42:27 +01:00
Resin CI
8d9cbbb526 v11.0.1 2019-06-04 22:32:52 +03:00
Resin CI
57fc26c0f7 v11.0.0 2019-06-04 21:17:56 +03:00
Paulo Castro
04223dbc58 Revert bin/balena (previously renamed bin/run for oclif compatibility)
Change-type: major
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:52:38 +01:00
Paulo Castro
dafbdd5f34 Add native installers for Windows and macOS
Change-type: minor
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:52:33 +01:00
Paulo Castro
c204dbd6cd Bump denymount version and delete redundant patch (chore task)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:51:59 +01:00
Paulo Castro
abf573fa47 Begin the transition to oclif with 'balena env add' (fix dropped leading
zero in device UUID).

This commit is fairly chunky because it adds the oclif dependency for
the first time, and refactors the CLI help and docs generation code to
accommodate both Capitano and oclif.

Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:51:56 +01:00
Paulo Castro
13e3e5e8ea Bump min Node.js version to 8.0, ts-node to 8.1 and typescript to 3.4.
Refactor typings folder for use with the tsconfig typeRoots option.

Change-type: major
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 13:51:55 +01:00
Resin CI
faa558b432 v10.17.5 2019-06-04 09:10:48 +03:00
Paulo Castro
fe3e348128 Pin moment-duration-format package (ReferenceError: window is not defined)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-06-04 02:47:45 +01:00
Resin CI
7535b7110d v10.17.4 2019-06-03 14:19:41 +03:00
Resin CI
f6a262bcde v10.17.3 2019-05-31 17:23:25 +03:00
Resin CI
fe0ba62026 v10.17.2 2019-05-30 18:05:43 +03:00
Resin CI
d21b84956c v10.17.1 2019-05-30 16:02:58 +03:00
Paulo Castro
a4efc7c9c4 Fix CI build error (missing @types/mz)
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-05-30 12:57:03 +01:00
Resin CI
e6ecb0ec0b v10.17.0 2019-05-29 18:05:38 +03:00
Alexis Svinartchouk
f3ef7f6e18 Add preload --add-certificate option
Change-type: minor
2019-05-28 16:35:29 +02:00
Resin CI
e36435bb4c v10.16.0 2019-05-27 17:38:47 +03:00
Resin CI
d23d837b8c v10.15.0 2019-05-27 17:06:11 +03:00
Resin CI
5de7a50fc0 v10.14.0 2019-05-27 15:47:25 +03:00
Resin CI
a6d6035725 v10.13.6 2019-05-22 18:51:56 +03:00
Resin CI
cccc8012c9 v10.13.5 2019-05-22 15:55:18 +03:00
Alexis Svinartchouk
36ab6f5808 Update balena-preload to 8.1.4
Change-type: patch
2019-05-21 14:02:45 +02:00
Resin CI
b45e80654c v10.13.4 2019-05-20 19:54:18 +03:00
Resin CI
3b5f3c6665 v10.13.3 2019-05-17 21:16:35 +03:00
Resin CI
4088e4c66e v10.13.2 2019-05-17 20:00:43 +03:00
Resin CI
7da250914e v10.13.1 2019-05-16 13:05:40 +03:00
Resin CI
ee267cd114 v10.13.0 2019-05-16 12:33:46 +03:00
Thodoris Greasidis
7ce43f4018 Use the open-balena-api endpoints for device type & version info
Resolves: #1177
HQ: https://github.com/balena-io/balena/issues/1744
Change-type: minor
Signed-off-by: Thodoris Greasidis <thodoris@balena.io>
2019-05-15 21:03:57 +03:00
Resin CI
3ba8be02e7 v10.12.1 2019-05-15 20:19:04 +03:00
Gergely Imreh
0adaeb5465
preload: bump version to fix preloading on logstream supervisors
Change-type: patch
Signed-off-by: Gergely Imreh <gergely@balena.io>
2019-05-15 17:56:00 +01:00
Resin CI
783cab2e50 v10.12.0 2019-05-15 17:40:55 +03:00
Resin CI
15ec99577a v10.11.1 2019-05-15 16:33:39 +03:00
Cameron Diver
7529a9a2a2 Debounce livepush invocations to collect changes together
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-05-15 14:01:30 +01:00
Resin CI
22b02c261f v10.11.0 2019-05-15 13:42:35 +03:00
Resin CI
c15276d239 v10.10.5 2019-05-14 16:22:38 +03:00
Resin CI
7a8fc14686 v10.10.4 2019-05-14 15:25:44 +03:00
Cameron Diver
20ae2bc57a
Pin pkg version to avoid node 6 error
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-05-14 12:37:27 +01:00
Cameron Diver
96c975d17e
Use TCP keepalive probes to detect local log stream closing
Change-type: patch
Closes: #1219
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-05-14 11:39:57 +01:00
Resin CI
ff8d784582 v10.10.3 2019-05-10 19:14:41 +03:00
Paulo Castro
6e343c36a8 Fix 'local configure' on macOS standalone installation
Resolves: #977
Resolves: #1212
Change-type: patch
Signed-off-by: Paulo Castro <paulo@balena.io>
2019-05-10 16:18:13 +01:00
Resin CI
e29c275b4c v10.10.2 2019-05-10 18:04:14 +03:00
Pagan Gazzard
a503cb4757 Update dependencies including a balena-preload fix for lots of releases
Change-type: patch
2019-05-10 15:38:12 +01:00
Resin CI
b3470ac909 v10.10.1 2019-05-04 22:53:16 +03:00
Resin CI
181afb34f8 v10.10.0 2019-05-03 15:32:30 +03:00