Commit Graph

53 Commits

Author SHA1 Message Date
Ben Newman
46396a1156 Instrument build/bundle/deploy commands for METEOR_PROFILE.
https://github.com/meteor/meteor-feature-requests/issues/239
2018-09-18 09:59:14 -04:00
Ben Newman
e6a0e9089d Merge branch 'master' into devel 2018-04-02 13:08:43 -04:00
Ben Newman
6b3cc2e94f Avoid displaying package stats errors in headless mode.
Console.isInteractive() will be false during our Circle CI test runs,
since we set the METEOR_HEADLESS environment variable, so this change
should help prevent spurious test failures like these:
https://circleci.com/gh/meteor/meteor/15305.
2018-04-02 12:32:50 -04:00
David Glasser
1dd7ad4544 Fix Galaxy discovery for version-status operation 2018-02-07 13:30:42 -08:00
Adam Zionts
d19f583e4f Make meteor deploy synchronous
- This changes meteor deploy to poll the /version-status/ REST endpoint
in Galaxy for the build and deploy status of the returned version
- Also fixes up a typo in a test
- Currently only configured to use a default polling configuration
- This change also adds a flag called --no-wait which allows users to
  specify that they want the deploy command to behave just as before
2018-02-07 13:30:21 -08:00
Adam Zionts
cc47278564 Updates information about Meteor CLI usage (#9462) 2017-12-20 14:48:08 -05:00
Ben Newman
1a8efdc31f Merge branch 'devel' into release-1.6 2017-10-02 13:44:25 -04:00
Ben Newman
e85c69680d Combine all isopackets to share transitive dependencies. (#9168)
By my calculations, the sum of the sizes of the individual isopackets was
152MB, and the size of the combined isopacket is now just 36MB. That
remarkable difference goes to show how much duplication of transitive
dependencies was happening before this change.

That's a savings of 116MB for the (uncompressed) size of the meteor-tool
package. In Meteor 1.5.x, the meteor-tool package is about 544MB, but in
Meteor 1.6 it's considerably smaller: 373MB. In other words, this change
should reduce those sizes to 428MB (-21%) and 257MB (-31%), respectively.
2017-10-02 13:41:39 -04:00
Ben Newman
6804aedc6c Merge branch 'release-1.5.2' into release-1.6 2017-08-17 10:19:46 -04:00
Jesse Rosenberger
d86b0c712e Be more considerate of interactive environments and expired tokens. (#9015)
If a login token is expired, or no longer valid, make sure that Meteor doesn't
just sit there at a login prompt that the user can't see.

This currently only applies if `headless` mode is enabled, though a follow-up
to this commit might consider setting `headless = true` automatically
in a CI environment using environment variables such as: `CI`, `TRAVIS`,
`JENKINS_URL`, etc., as the npm-registry-client does in a similar way.

See: https://github.com/npm/npm-registry-client/pull/129/files

Fixes #8839.
2017-08-16 11:21:53 -04:00
Ben Newman
d16552112e Merge branch 'release-1.5.2' into release-1.6 2017-08-10 16:16:03 -04:00
Ben Newman
8d9fd49d02 Use urlParse instead of url.parse in meteor-services/config.js.
Looks like this was a neglected find/replace that should've happened in
10e8d7d08d (cc @abernix).
2017-08-10 15:16:56 -04:00
Ben Newman
e1b60a661e Use urlParse instead of url.parse in meteor-services/config.js.
Looks like this was a neglected find/replace that should've happened in
10e8d7d08d (cc @abernix).
2017-08-10 15:14:52 -04:00
Ben Newman
0bf08a5f99 Merge branch 'release-1.5.2' into release-1.6 2017-08-08 18:40:46 -04:00
Jesse Rosenberger
10e8d7d08d (ecmascript) Imports: config.{getPackagesDirectoryName,getPackageStorage}.
This ALSO changes `config.js` to use ECMAScript `exports` and removed its unused
`underscore` `require`-ment.
2017-08-07 18:45:03 +03:00
Ben Newman
ad917dcf0a Merge pull request #8954 from meteor/abernix/auth-deploy-cleanup
`meteor deploy` cleanup and partial modernization
2017-08-02 08:46:44 -07:00
Jesse Rosenberger
3cdcca6f6a Replace underscore _.clone with Object.assign. 2017-07-31 11:50:36 +03:00
Jesse Rosenberger
300511450b Change import of underscore to only bring in clone. 2017-07-27 19:32:26 +03:00
Jesse Rosenberger
31735e087d Replace underscore _.each with Array.prototype.forEach. 2017-07-27 19:31:03 +03:00
Jesse Rosenberger
ae9eaf69ac Change require statements to import statements. 2017-07-27 19:31:00 +03:00
Jesse Rosenberger
f896950bfc Replace underscore _.extend with Object.assign. 2017-07-27 19:20:28 +03:00
Jesse Rosenberger
639436b9ef Replace underscore _.has with Object.property.hasOwnProperty. 2017-07-27 19:20:15 +03:00
Jesse Rosenberger
d35f9b52ff Reworking functions and exports in tools/meteor-services/deploy.js. 2017-07-27 18:51:28 +03:00
Jesse Rosenberger
613ce27f69 Remove meteor claim which is no longer a supported command.
This was residue from Meteor Free Hosting, which is no longer available,
and `meteor claim` has not worked in quite some time.
2017-07-27 16:16:07 +03:00
Jesse Rosenberger
a7c229d5e5 For meteor deploy there is no longer a protection of password.
Only `account` is still a valid `protection` which is recognized by
the Galaxy server.
2017-07-27 16:14:30 +03:00
Jesse Rosenberger
661b6f74e9 Clear password between retries when auth has failed. 2017-07-14 00:27:52 -07:00
Ben Newman
6418026e15 Update all new Buffer usage to Buffer.from for Node 6+.
https://github.com/nodejs/node/wiki/Breaking-changes-between-v5-and-v6
2017-06-05 18:16:03 -04:00
Jesse Rosenberger
6621a63025 Automatically trim DEPLOY_HOSTNAME of leading/trailing spaces. (#8508)
This simple fix prevents the disappointment of trying to deploy your app
but failing because there's a space on the end of the `DEPLOY_HOSTNAME`
environment variable.

`process.env` always contains string values and assigning a property on
`process.env` implicitly converts the value to a string so it should not
be necessary to check if `typeof` is a `string`.

Fixes Dev Experience.
2017-03-22 12:01:53 -04:00
David Glasser
b7286fc90d Make deploy errors easier to identify 2017-01-05 13:11:01 -08:00
Ben Newman
12e563664b Disable the HTTP timeout for the Galaxy upload POST. 2016-06-23 11:49:57 -04:00
David Glasser
0a402c7537 galaxy discovery tweaks
- Use deploy-specific CNAME by default
- Don't print deploy URL twice for authedRpc.
2016-05-19 16:46:38 -07:00
David Glasser
26584165e5 discover deploy server and change default
Update the default deploy server from deploy.meteor.com (which no longer
exists) to galaxy.meteor.com.  However, if your app's DNS is already
pointed at Galaxy, automatically discover the deploy server's URL.

See meteor/amsterdam#305
2016-05-16 13:03:27 -07:00
David Glasser
6619d9bead remove unnecessary log 2016-05-13 18:06:26 -07:00
David Glasser
2b6b02439d destroy universe
"universe" was an old attempt to allow you to run various MDG
servers (Meteor Developer Accounts, the package server, an old version
of the Galaxy deploy server, etc) on localhost and configure the tool to
talk to it not via a bunch of environment variables but via a file
called "universe" at the root of your checkout. Nobody uses this (and
most of the URLs have environment variables for them anyway).  Simplify
the code by removing this entirely.

Also remove some more dead code, and a test that claims it only runs if
you have universe set up.
2016-05-13 15:09:03 -07:00
David Glasser
731716efe1 delete dead code
This code makes it look like there are more codepaths that care about
$DEPLOY_HOSTNAME than there actually are.
2016-05-13 14:33:30 -07:00
Ben Newman
2dd511ff11 Remove logic for writing package.json files for binary npm packages.
We're going to be using programs/server/setup.sh to run `npm rebuild` in
these packages, which is a much cleaner solution for #6537.
2016-04-07 13:05:50 -04:00
Tom Coleman
95db365484 Added a message for successful auth transfers 2016-02-29 20:06:20 +11:00
Tom Coleman
bd92c15ee2 Add authorized --transfer command for Galaxy 2016-02-26 16:26:29 +11:00
Tom Coleman
121d875a20 Remove code that adds .meteor.com to hostnames in the tool
Instead let the server (both Galaxy and Mother do this) decide on how to postfix the hostname.
2016-02-26 15:53:37 +11:00
Tom Coleman
2def9fbd05 Send tool capabilities on every request. 2016-02-26 15:50:21 +11:00
Tom Coleman
91c64a4fd2 Log messages returned from deploy commands 2016-02-26 15:46:07 +11:00
Tom Coleman
5b064f15df Allow arbitrary options on meteor deploy
And pass them through to both the /info and /deploy calls.
2016-02-26 15:24:25 +11:00
David Glasser
7786b4ff29 Drop tests that use the test-packages server
These tests have long been flaky, and we are changing some of the
infrastructure that the test server relies on.
2016-02-23 17:53:13 -08:00
Braden Whitten
5e99a0542f Fix typo in Promise resolve call 2016-01-03 18:29:18 -08:00
Ben Newman
d54410db8e Eliminate Future from tools/service-connection.js. 2015-12-09 12:06:48 -05:00
Ben Newman
f57a2756a6 Eliminate Future from tools/auth.js. 2015-12-09 12:06:45 -05:00
Ben Newman
ed17924940 Add braces to every if/for(-in)/while statement in tools directory. 2015-11-13 12:25:19 -05:00
Blake Bourque
0aa1291fd6 Patch to allow users to override root cert list
Fixes #4757
Uses environment variable CAFILE (to match NPM) which must contain a fully qualified path to a pem format root certificate to include in the list of trusted root certs.

This additional root certificate will be needed for those behind an SSL inspection proxy which acts as an SSL termination point and resigns the traffic with its own root certificate.
2015-10-27 13:39:18 -07:00
David Glasser
c929703790 One way of cross-compiling local binary packages
If $METEOR_BINARY_DEP_WORKAROUND is set, then when bundling for a
non-host platform (build/bundle/deploy commands only), if a package has
no server unibuild for the target architecture, use the host
architecture and replace the npm modules with a package.json and
npm-shrinkwrap.json.  Also write out a top-level setup.sh script (inside
programs/server) which runs npm install in all such directories.

To support this, we make sure to save the package.json and
npm-shrinkwrap.json files in various intermediate directories in case we
need them later.  (We put them inside node_modules because that is what
gets copied from source tree to isopack.)
2015-09-22 15:11:04 -07:00
ekatek
ef13ed9926 use selftest to run tests against galaxy
UX Changes:
  - Added a `--galaxy` option to selftest to run tests against galaxy.
    Self-test will NOT run those tests without this option. Self-test will not run any
    other tests WITH this option.

    The motivation here is two-fold:
     - We want to make it easy to use self-test to test Galaxy without running a bunch
       of extra tests. At least, we want this right now, while Galaxy is still in development.

     - Galaxy is currently pretty unstable&slow; we don't want to run our regular test suite against
       Galaxy all the time and slow down the tool development process. Additionally, the environment
       variables required by Galaxy are a pain to set.

    This is a TEMPORARY situation. Eventually, we will want to either merge the two tests together
    (especially once we rotate out Mother...) or we will have a separate unrelated Galaxy test suite
    and move a lot of this stuff here. With time, it will also become more obvious what a better default
    (run Galaxy tests always/run Galaxy tests never/run non-Galaxy-specific tests against Galaxy) is.

    The changes should be pretty self-contained.

 - Added some number of environment variables to use with --galaxy tests. This is a bit complicated
   and will be documented in
     https://mdg.hackpad.com/GalaxyECS-Admin-tasks-RTXJ5YW8pDv#:h=Testing-Galaxy-with-selftest.

Walkthrough:
    - galaxy-utls.js contains basic utils for running Galaxy tests. Use environment variables, etc.

    - galaxy.js contains the acutal test

    - simple-app is an app that responds to HTTP requests and serves some html that we can test to be running

    - minor changes to config.js to allow overriding of the domain name

    - minor changes to auth.js to allow us to automatically login as the (new) test user and use that
      login to start a DDP collection.

    - move a function out of deploy-settings.js into test-utils.js

    - some minor additions to test-utils.js

Reviewed in https://github.com/meteor/meteor/pull/4997.
2015-08-26 19:06:13 -07:00