The release-1.4.2.7 branch was begun from release-1.4.2.6, which has
fallen behind the master branch since release-1.4.3 landed.
To avoid conflicts when merging release-1.4.2.7 into master, I published
the official METEOR@1.4.2.7 release tag, then merged master into
release-1.4.2.7, and will soon (if the tests pass) merge release-1.4.2.7
back into master, putting master back in its 1.4.3 state, except with the
release-1.4.2.7 history included.
This reverts commit be0c8c3ee0.
Although we thought the upgrade from npm 3.10.9 to 4.1.2 was worthwhile
and safe, this breaking change proved problematic:
https://github.com/npm/npm/blob/latest/CHANGELOG.md#no-more-partial-shrinkwraps-breaking
Specifically, if a Meteor package uses `Npm.depends`, and does not yet
have an `.npm/package/npm-shrinkwrap.json` file, Meteor will create a
partial shrinkwrap file in order to install npm dependencies, but (with
the changes in npm@4) transitive dependencies of the package will no
longer be installed.
Upgrading npm to a new major version was probably too much of a change for
a 1.4.2.x release, anyway, so we're reverting it for 1.4.2.7.
In case you can't wait for 1.4.2.7, you can "fix" this problem for
previous versions of Meteor by running
meteor npm install --global npm@3.10.9
You can test that this downgrade worked by running
meteor npm version
Removing thest tests which aren't defined anywhere anymore but the exceptions to skip them are still in place:
* ^mongo - logged (in|out)
* ^logs - logged (in|out)
* ^can't publish package with colons
Since multiple self-tests could run in a series now, this makes sure that when any of them fails, the error is propagated to CircleCI but still lets them all finish.
This reverts commit 7df3ccaa2195af2628f20752104b331997137b73 which introduced a change which required `bash`.
I don't want to force `bash` for a test runner.
This might be overboard as it adds some additional code but the regex off the screen was midly unpleasant.
One additional benefit to this is that you could have a list of excluded tests stored in a separate file and use:
```
ADDL_SELF_TEST_EXCLUDE="$(cat addl_tests.txt)"
```
(note the importance of double quotes to preserve newlines)
This permits changing TIMEOUT_SCALE_FACTOR using a variable instead of hard-coding it in the script.
Also adds ADDL_SELF_TEST_EXCLUDE to define environment specific tests which must be skipped.
For example, I run my preliminary (personal) Meteor tests on SemaphoreCI, but there is a particular test that just _will not work_. This allows me to override particulary problematic tests without sed-ing the script.
This changes the CI script to make sure it runs all tests, regardless of the environment configuration while still allowing flexibility in the size of the container parallelism.
While not having any effect on the Meteor configuration this will now run all 8 test groups across a fewer number of containers, if necessary.
This fixes issues where false-positives are achieved on contributor PRs, like seen on meteor/meteor#7963. I explained here:
https://github.com/meteor/meteor/pull/7963#issuecomment-264188162
This change will also allow the script to run tests in their entirety if the parallelism configuration is missing, such as when run from a local dev box.