Commit Graph

20068 Commits

Author SHA1 Message Date
Ben Newman
0bff81f0b4 Bump package versions for the official 1.6 release. release/METEOR@1.6 2017-10-27 13:00:43 -04:00
Ben Newman
2004873909 Final tweaks to History.md. 🎉 2017-10-27 12:58:12 -04:00
Ben Newman
b63ab27986 Bump package versions for 1.6-rc.18 release. release/METEOR@1.6-rc.18 2017-10-26 11:37:15 -04:00
Ben Newman
e89879383b Bump $BUNDLE_VERSION to 8.8.1 before rebuilding dev bundle. 2017-10-26 11:18:25 -04:00
Ben Newman
4a2f0fb69a Upgrade Node to version 8.8.1.
https://nodejs.org/en/blog/release/v8.8.1/
2017-10-26 11:17:55 -04:00
Ben Newman
66afec2563 Tweaks to History.md. 2017-10-26 11:16:56 -04:00
Ben Newman
f449552c0e Update various package shrinkwraps for npm 5. 2017-10-24 19:03:20 -04:00
Ben Newman
24c80da9ef Bump package versions for 1.6-rc.17 release. release/METEOR@1.6-rc.17 2017-10-24 18:45:30 -04:00
Ben Newman
b4a8b8c5e6 Bump $BUNDLE_VERSION to 8.8.0 before rebuilding dev bundle. 2017-10-24 18:26:01 -04:00
Ben Newman
f1e87ddae4 Upgrade Node to version 8.8.0.
https://nodejs.org/en/blog/release/v8.8.0/
https://nodejs.org/en/blog/vulnerability/oct-2017-dos/
2017-10-24 18:25:39 -04:00
Jesse Rosenberger
7707029644 Throw an error when any external command fails during test preparation.
Even with $ErrorActionPreference, PowerShell won't automatically fail
when an external command fails with an error code.  This explicitly
checks those exit codes and throws an error when that occurs.

Hopefully prevents false successes like that shown in this AppVeyor
test run: https://goo.gl/xxRsF9.
2017-10-23 17:55:30 -07:00
Ben Newman
0fddc26a2e Adjust npm update notifier opt-out environment variable.
https://github.com/zkat/npx/issues/98#issuecomment-316936135
https://www.npmjs.com/package/update-notifier#user-settings
2017-10-23 19:37:44 -04:00
Ben Newman
888ea97b2e Bump $BUNDLE_VERSION to 8.7.6 before rebuilding dev bundle. 2017-10-23 19:00:27 -04:00
Ben Newman
ac341c79a4 Mention meteor npx and choco install meteor in History.md. 2017-10-23 18:59:37 -04:00
Ben Newman
101a1bc0f6 Remove dev_bundle/.npm (-30MB due to .npm/_cacache). 2017-10-23 18:57:47 -04:00
Ben Newman
d317c29319 Bump package versions for 1.6-rc.16 release. release/METEOR@1.6-rc.16 2017-10-20 16:13:31 -04:00
Ben Newman
1f6488b408 Update minifier-js shrinkwrap for npm 5. 2017-10-20 16:13:29 -04:00
Ben Newman
1389db4631 Increase garbage collection throttling delay.
May help with this problem, which seems to stem from too much GC:
https://github.com/meteor/meteor/pull/8728#issuecomment-337636773

If this isn't enough, we could include this commit in 1.6.1:
5d212926e7
2017-10-19 11:31:23 -04:00
Ben Newman
fa3b4e1ef8 Bump $BUNDLE_VERSION to 8.7.5 before rebuilding dev bundle. 2017-10-19 10:18:29 -04:00
Ben Newman
a49a8dc12f Update our fork of pacote to ensure gitOpts.cwd exists.
4e58fa55e2

cc @abernix
2017-10-19 10:18:02 -04:00
Ben Newman
6d528e334f Bump package versions for 1.6-rc.15 release. release/METEOR@1.6-rc.15 2017-10-18 21:52:17 -04:00
Ben Newman
9c1745f161 Update meteor-node-stubs to 0.3.2 everywhere else. 2017-10-18 21:52:16 -04:00
Ben Newman
301c1fe616 Update modules test app to use meteor-node-stubs@0.3.2. 2017-10-18 21:52:14 -04:00
Ben Newman
9949236670 Bump $BUNDLE_VERSION to 8.7.4 before rebuilding dev bundle. 2017-10-18 21:52:13 -04:00
Ben Newman
f9f7965587 Use a fork of pacote to work around Windows git.exe issues.
Should finally fix https://github.com/meteor/meteor/issues/9243.

Additional commits:
64ff47a875
f381754a0f

Previously: 3431b5b81f
2017-10-18 21:52:11 -04:00
Jesse Rosenberger
e2a0540540 Use YAML config for Appveyor settings, rather than their UI.
These take precedence over the UI, and I'm not sure the UI is taking
effect at the moment.

We don't need to build branches which start with 'dev-bundle-' since
those dev bundles won't be built yet when the tests are kicked off.
2017-10-17 16:50:21 -04:00
Jesse Rosenberger
50276f2a82 Remove problematic Windows test, until it can be researched further.
Though it was thought to be reliable when running through 'self-test' on
Windows, it's yet to be seen how reliable.

The worst thing that could come of adding Windows testing would be that
we have test failures again after such a string of green checkmarks and
confidence.

Also, reordered.
2017-10-17 16:50:19 -04:00
Ben Newman
22930e876e Bump package versions for 1.6-rc.14 release. release/METEOR@1.6-rc.14 2017-10-17 16:29:44 -04:00
Ben Newman
039b55b0db Bump $BUNDLE_VERSION to 8.7.3 before rebuilding dev bundle. 2017-10-17 15:19:56 -04:00
Ben Newman
3f7b66a40d Link npm bin commands into dev_bundle\bin on Windows. 2017-10-17 15:10:39 -04:00
Ben Newman
d988137cee Update meteor-babel and babel-runtime to latest versions. 2017-10-17 14:13:02 -04:00
Jesse Rosenberger
2d8b1913c7 Basic Appveyor testing for Windows.
This implements a first generation of Windows CI testing.  Presently,
this only runs valuable, hand-picked tests which have been known to work
in the past, and whose failure would indicate a critical problem.

A test which isn't passing doesn't mean that the feature being tested is
not working. For example, the 'create' test fails ostentatiously,
though the 'meteor create' command certainly works in practice. This
points to problems some compatibility problems with the 'self-test'
harness itself, some of which I'm aware of.  Though, it likely will
highlight some legitimate problems which Windows users experience too.

There are a number of additional tests which should be enabled which
likely pass already, and many more which are failing and we should fix.

Additional tests can be added to the scripts/windows/appveyor/test.ps1
file as they've been deemed working.

Altogether, this will take extensive work to achieve the same level of
coverage our Unix test suite enjoy, but we've got to start somewhere!

cc @benjamn
2017-10-17 19:00:58 +03:00
Ben Newman
b499ad8c45 Another small improvement to temp directory removal logic. 2017-10-17 10:21:01 -04:00
Ben Newman
3739677140 Use files.rm_recursive_async to implement files.freeTempDir. 2017-10-16 17:59:52 -04:00
Ben Newman
e2db34bdc5 Bump package versions for 1.6-rc.13 release. release/METEOR@1.6-rc.13 2017-10-16 16:04:42 -04:00
Ben Newman
9bedf027d4 Move VALID_ARCHITECTURES to its natural home, utils/archinfo.js.
Apparently importing cli/commands.js in isobuild/bundler.js led to calling
ensureIsopacketsLoadable more than once, which broke some tests.
2017-10-16 15:47:55 -04:00
Ben Newman
352b319646 Allow Builder#copyDirectory to re-create symlinks again.
Commit 86ec7eb5db broke tests because we
rely on symlinks even when the symlink option is false.
2017-10-16 14:59:01 -04:00
Ben Newman
5a8c0f2743 Bump package versions for 1.6-rc.12 release. release/METEOR@1.6-rc.12 2017-10-16 14:07:19 -04:00
Ben Newman
eded323039 Avoid calling files.stat(source) in symlinkWithOverwrite.
This was dangerous because source is often a path relative to the old
target file, whereas files.stat was interpreting source as a path relative
to process.cwd().

Fixes #9203.
2017-10-16 14:07:11 -04:00
Ben Newman
86ec7eb5db Avoid creating symlinks in Builder#copyDirectory when forbidden. 2017-10-16 14:07:07 -04:00
Ben Newman
e6e5d427b4 Allow files.rm_recursive to yield whenever possible.
A while back, for performance reasons, we disabled yielding for all
files.* operations unless METEOR_DISABLE_FS_FIBERS was set to false.

This was safe for almost all files.* operations, because most of them have
a synchronous fs.*Sync version available.

For a more complicated operation like files.rm_recursive, however, there
is no synchronous or asynchronous counterpart in the fs.* namespace, so
the safety of disabling fibers is not guaranteed.

Lately, files.rm_recursive has become a major source of uncaught ENOTEMPTY
errors on Windows, because rimraf.sync fails with that error, and we don't
give files.rm_recursive_async a chance to delete the directory in a more
persistent, forgiving manner.

The only reason we haven't been falling back to files.rm_recursive_async
is that YIELD_ALLOWED is false by default, so canYield() returns false.

This commit distinguishes between canYield() and mayYield(), and uses
canYield() in files.rm_recursive to determine whether it is technically
safe to yield, regardless of YIELD_ALLOWED.

Anyone who ever asked "Can I go to the bathroom?" in elementary school,
only to be mercilessly rebuked with "I don't know, CAN YOU?" should
understand the difference between these two functions.
2017-10-16 13:58:49 -04:00
Ben Newman
af016aa306 Disable automatic switching to 64-bit meteor-tool on Windows.
This means running `meteor update` on Windows with an existing (pre-1.6)
installation of Meteor will install a 32-bit version of Meteor 1.6, even
if the underlying machine architecture could handle a 64-bit version.

To get a native 64-bit version of Meteor, Windows developers should
reinstall Meteor 1.6 from scratch using the new and improved Windows
installer (👋 @abernix), rather than running `meteor update`.

If we really want to make `meteor update` just work , we can
revisit this change in Meteor 1.6.1.
2017-10-16 13:58:49 -04:00
Ben Newman
11ea9aef58 Stop wasting time making extracted tarball trees read-only.
Whatever benefits this may have had, a general purpose function like
files.extractTarGz is definitely not the place for such an aggressive
safety measure, and the performance penalty is significant, especially on
Windows.
2017-10-16 13:58:49 -04:00
Ben Newman
132a835086 Fix typo in archinfo.canSwitchTo64Bit.
5a9e837937 (r144887020)
2017-10-16 12:46:49 -04:00
Ben Newman
2777f5f6f7 Bump package versions for 1.6-rc.11 release. release/METEOR@1.6-rc.11 2017-10-16 10:00:45 -04:00
Ben Newman
b99f2be040 Reuse VALID_ARCHITECTURES for great DRY-ness. 2017-10-16 10:00:45 -04:00
Ben Newman
dad50b277e Merge pull request #9234 from meteor/windows-springboarding-subtleties
[WIP] Automatically switch between 64- and 32-bit Windows builds.
2017-10-16 08:40:46 -04:00
Ben Newman
bbd3b9ffca Tolerate springboarding to the same meteor-tool build directory.
Though this seems wasteful, it can happen if a SpringboardToLatestRelease
exception is thrown, and it definitely should spawn a new process rather
than returning normally from the springboard function.
2017-10-15 20:10:21 -04:00
Ben Newman
5a9e837937 Upgrade to 64-bit when possible on Windows.
Since we can't change the springboarding logic of existing Meteor
releases, this decision has to be made by the springboarded-to Meteor 1.6
release, and may result in a second springboarding.
2017-10-15 19:36:37 -04:00
Ben Newman
e9db660d03 Allow 64-bit Windows builds of meteor-tool to download 32-bit builds.
Once Windows developers update to a 64-bit version of Meteor 1.6, they may
still wish to run apps using older versions of Meteor where only 32-bit
builds of meteor-tool are available. This commit makes that possible.
2017-10-15 19:32:18 -04:00