Commit Graph

144 Commits

Author SHA1 Message Date
Paul Gschwendtner 34306ad0f9 ci: skip more tasks if only markdown files changed (#8096)
* No longer just skips the unit test and e2e tasks if only markdown files changed. Now everything will be skipped, since there is nothing that tests against the `.md` files.
* Prints messages for the deploy tasks that run inside of Pull Requests but end up in a NOOP.
2017-10-30 14:33:13 -07:00
Kristiyan Kostadinov 0ea43700ef refactor: switch to HttpClient (#6702)
Refactors all of the usages of the deprecated `Http` by replacing them with the `HttpClient`.

BREAKING CHANGE: Material now requires `@angular/common` instead of `@angular/http` and uses `HttpClient` instead of `Http`.
2017-10-24 10:42:35 -07:00
Paul Gschwendtner 94584dbc56 build: deploy dashboard, screenshot-tool in cronjob (#7618)
* No longer deploy the dashboard and screenshot-tool per commit.
2017-10-10 16:38:53 -07:00
Paul Gschwendtner 606178be0a build(): retries for travis deploying (#7146)
* Now re-runs the given deploy mode a second time if failed the first time. This ensure that deployment works fine most of the time and should also avoid conflicts between different Travis CI jobs that are deplyoing at the same time.
2017-09-29 13:23:52 -07:00
Jeremy Elbourn 1cb8907a66 build: create JS bundles for each component (#6998)
Before this change, all of `@angular/material` was bundled into a
single, flat JS file.

After this change, each top-level component (i.e., each directory under
`src/lib`) will be have its own JS file (and d.ts and metadata.json).

The benefit of this change is that current versions of webpack will be
able to do a much better job of only including the code an app is using.

It also allows (but does not require) people to explicitly import from specific components,
e.g.
```
import {MdButtonModule} from '@angular/material/button';
``

For development _within Angular Material itself_ we have to use these
deeper imports because the root `@angular/material` doesn't exist until
we build the relase package.

Additionally, this PR adds a `tsconfig.json` for each dir under `src/`
with the correct path mappings for that directory, so that IDEs will
correctly generate imports.

Closure Compiler CI check is also disabled by this PR; it cannot work
with the new package structure until a release with
https://github.com/google/closure-compiler/pull/2600 is made available.
2017-09-14 15:15:17 -07:00
mmalerba 9545427c73 feat(datepicker): Add Moment.js adapter (#6860)
* create moment adapter

* add Moment to karma.conf.js

* use MAT_DATE_LOCALE

* tests are now running

* add in tests

* WIP: demo

* add synthetic default imports for moment

* add locale switching to demo

* fix moment import issues with tests

* fix aot

* address comments

* fix closure issue

* add additional explanation of rollup issue

* remove moment adapter demo since it is preventing sync into g3 (will add
back as a docs example in future PR).

* fix bad rebase
2017-09-12 13:24:23 -07:00
Paul Gschwendtner a727f970cd build: snapshot builds for moment-adapter (#6823)
* Publishes the artifacts of the material-moment-adapter on a per-commit basis.
2017-09-11 16:27:46 -07:00
Paul Gschwendtner 2ef6382bae build: stop building rxjs for closure compiler test (#6635)
For every Pull Request, a job that runs the Google Closure Compiler against the demo-app will be started. In the past Closure Compiler wasn't able to properly handle CommonJS packages from the node modules.

Now the Google Closure Compiler will be reconfigured to properly handle CommonJS packages (meaning that RxJS no longer needs to be built manually)
2017-08-28 16:28:50 -07:00
Paul Gschwendtner 844a81c248 build: shorter wait delay for tunnels (#6607) 2017-08-23 11:30:49 -07:00
Paul Gschwendtner 4cff5ce892 build: update saucelabs connector (#6609) 2017-08-23 11:08:07 -07:00
Jeremy Elbourn 4d82f833c7 feat(cdk): move overlay into cdk (#6100) 2017-08-11 15:42:36 -07:00
Paul Gschwendtner fc98a1d0cf build: move changelog script to gulp task (#5472)
* Moves the changelog script to a gulp task that includes better instructions and error reporting.
2017-08-08 23:18:38 -07:00
Paul Gschwendtner 333ec80750 build: fix screenshot tool deployment (#6337)
* Currently the screenshot tool application is not built in the deploy script. This causes Firebase to throw an error because the target directory does not exist.
2017-08-08 13:26:33 -07:00
Paul Gschwendtner 0680774fcd ci: shorter wait timeout for saucelabs and browserstack (#6317)
* Changes the wait timeout for Saucelabs and Browserstack from 2 minutes to 1 minute. This is possible now because if the timeout fails we still re-try to create a connection a second time.
2017-08-07 10:24:09 -07:00
Paul Gschwendtner 3944d70435 build: deploy screenshot app for push builds (#6299)
* Currently only the screenshot functions are deployed, but not he screenshot application. With this change the application will be also deployed on Travis Push builds.
2017-08-07 10:20:30 -07:00
Paul Gschwendtner 298bc031da ci: incorrect path to screenshot-test tool (#6275)
The deploy script for the screenshot-test tool right now references a incorrect directory. This means that the screenshot-test tool can't be uploaded for push builds right now.
2017-08-04 14:03:08 -07:00
Paul Gschwendtner ea6e829239 build: retry attemps for tunnel connections (#6246)
On the CI it happens pretty often that the tunnel connection to the different providers like Browserstack or Saucelabs is timing out.

Instead of always restarting manually, the script should automatically retry to run the connection establishing script.
2017-08-04 14:00:47 -07:00
Paul Gschwendtner 19614cda32 build(closure): detect cdk entry points from filesystem (#6144)
* The closure script now detects the CDK entry points from the filesystem. This is important to avoid hard-coding the CDK entry points multiple times in the project.
2017-07-31 11:24:35 -07:00
Paul Gschwendtner 3940fab732 build: use version placeholder in package configs (#6112)
Recently the version placeholders had been replaced with hardcoded versions because it was necessary to be able to release the CDK.

But now the version placeholders are replaced in every file and therefore they can be used instead of the hardcoded values.
2017-07-31 11:22:40 -07:00
Paul Gschwendtner 72106c9801 build: update saucelabs connector (#5980)
* Updates the saucelabs connector to the latest version
2017-07-27 09:50:29 -07:00
Paul Gschwendtner 2e3d616941 chore: consistent script names for travis setup (#5986)
* Updates the outdated README in the `ci/` folder.
* Renames the `env.sh` script to `travis-env.sh` because it only works for Travis and is not a generic script.
2017-07-27 09:50:10 -07:00
Jeremy Elbourn bcae614d79 build: change cdk to use secondary entry-points (#5922)
* build: change cdk to use secondary entry-points

* refactoring for comments

* fix closure and payload size calc
2017-07-25 16:15:24 -07:00
Paul Gschwendtner 1c7754ab76 build: artifact scripts should push empty commits (#5835) 2017-07-18 14:45:17 -07:00
Paul Gschwendtner b018f26e70 build: fix screenshot functions deploying (#5780)
* Fixes the screenshot functions deploying by properly resolving the path to the Firebase CLI binary.
* Also cleans up the script to be aligned with the dashboard deployment script.
* Removes firebase-tools as dependency from the dashboard since it's not used there anymore
2017-07-17 16:23:51 -07:00
Paul Gschwendtner 5357bbcb79 build: dashboard deploy bug in firebase (#5781)
* Workaround for a Firebase bug (https://github.com/firebase/firebase-tools/issues/382) that causes the deployment to not work in Travis CI.
2017-07-17 11:12:31 -07:00
Paul Gschwendtner a1a7dcb463 build: fix deploying of screenshot functions
* Updates the dashboard and screenshot deploy script to exit the process immediately if the Firebase token is not set.
* Fixes that the error message of the dashboard still shows the old name of the token variable
* Renames the screenshot variables to follow the dashboard environment variables
* Explicitly specifies the project that will be uploaded in the screenshot deploy script (same as for dashboard)
2017-07-10 15:45:00 -07:00
Paul Gschwendtner dabcd53bc9 build: separate deploy jobs in deploy build stage (#5621)
Currently every deployment runs in a single Travis job concurrently. This messes up the logs and it's also hard to see what actually runs at all.

The different deployment jobs should run concurrently in the deploy build stage.
2017-07-10 11:38:09 -07:00
Jeremy Elbourn 3181335074 Revert "build: publish build tools on github (#5458)" (#5526)
This reverts commit 0675568d03.
2017-07-05 18:10:22 -07:00
Paul Gschwendtner 0675568d03 build: publish build tools on github (#5458)
* Publishes the material2-build-tools on Github.
2017-07-05 16:29:52 -07:00
Paul Gschwendtner bf2326004a build: use node to resolve build version (#5460)
* instead of using a complex RegExp that will likely break at some point in the future, we are switching to a single-line NodeJS script to resolve the version.
2017-07-05 10:30:34 -07:00
Paul Gschwendtner d859d34739 build: better error reporting of bash scripts (#5397)
Currently whenever something fails in the deploy script it will likely not cause the CI to show the failure. This is because Bash by default doesn't exit the process with the proper error code.
2017-06-29 10:32:00 -07:00
Paul Gschwendtner 84746718fd build: replace cdk version placeholder for build artifacts (#5330)
* Currently the `0.0.0-PLACEHOLDER` is still inside of the `package.json` of the material2-builds. Similar as for every other Angular package the version placeholder should be replaced with the version of the current "build commit".

Closes #5320
2017-06-23 12:40:37 -07:00
Paul Gschwendtner 9acb152bce build: print logs if tunnel times out (#5279)
* The logfile output should be printed if the tunnel connection can't be established. The logging is also useful to see the update message from Saucelabs for example.
2017-06-21 18:17:10 -07:00
Paul Gschwendtner 746495a222 build: update sauce connect version (#5179)
* Updates the version of Sauce Connect to avoid potential flakes within the Saucelabs tunnels
* Fixes the invalid path for the `deploy-dashboard` script that runs in the deploy build stage
2017-06-19 09:30:01 -07:00
Paul Gschwendtner c8e56b535e build: initial dashboard project (#5148) 2017-06-16 10:22:33 -07:00
Paul Gschwendtner f579ea130f build: faster artifacts deploy script (#5149) 2017-06-15 13:31:15 -07:00
Paul Gschwendtner 154f54ec14 build: run chrome headless in travis (#5126) 2017-06-14 14:26:52 -07:00
Paul Gschwendtner 7af93bc5e3 build: switch to new dashboard firebase instance (#4954)
* Switches to a new Firebase instance for the Dashboard.
2017-06-05 11:13:05 -07:00
Paul Gschwendtner 52b6692472 build: move inline resources script to tools (#4894)
* build: move inline resources script to tools

* Moves the inline resources script to the `tools/gulp/packaging` folder. This is necessary when exposing the build tools (e.g for flex-layout)
* This also makes the packaging more clean because no external script is referenced (also switched to TypeScript and improved code)

* Address comments

* Update comment
2017-05-31 16:20:00 -07:00
Paul Gschwendtner 964033ce8d build: add dashboard firebase functions (#4806)
* build: add dashboard firebase functions

* Adds a new folder for the dashboard project that for now only contains firebase functions.
* The firebase functions will be used to securely make API calls to the Github API (e.g payload status)
* Functions will be automatically deployed as same as screenshot functions.

* Address feedback
2017-05-31 16:18:34 -07:00
Paul Gschwendtner a681438eef build: suppress logging of sauce-connect (#4856)
* Suppresses normal log messages from Saucelabs Conect. Error messages will still show up (In a follow-up PR the normal stdout will be printed together with the stdout on CI failures)
* No longer suppresses the whole Browserstack Tunnel execution. Stderr output will be printed if present. (In a follow-up stdout will be printed as well on CI failures)
* Switches to best-practice variable referencing in Bash
2017-05-30 09:27:06 -07:00
Paul Gschwendtner fb5520cebf build: move server rendering to dist (#4822)
* build: move server rendering to dist

* Verifying that Material works with `platform-server` now happens in the `dist/` folder (instead of the src/ folder)
* Adds a gulp task to build the universal application. In the future serving the app will be also part of this

* Address comments
2017-05-30 09:22:18 -07:00
Paul Gschwendtner 5c6a6856a1 build: move release packages to constants (#4818)
* build: move release packages to constants

* Moves the list of packages that should be released to the constants file.
* Sets the executable bit flag on the `deploy-screenshot-functions.sh` script

* Rename constants to build config
2017-05-26 12:36:10 -06:00
Paul Gschwendtner 1fce545757 build: missing cdk release output (#4811)
For the publish artifacts script the CDK release output didn't build. The CDK release output is necessary since it will be also published to cdk-builds.
2017-05-25 17:51:36 -06:00
Jeremy Elbourn 97d69fb3f8 build: add ci task for server-side prerender (#4808)
This adds a new task for Travis CI to prerender an app using
@angular/material. This change starts off by only adding buttons to the
application; more components will be added in a subsequent PR so that
this one stays focused on the set-up.
2017-05-25 17:51:11 -06:00
Paul Gschwendtner 426a644fb9 build: silence build and test script (#4770)
Currently the CI traces everything that runs inside of the bash script.

This might have been useful when creating the script but now it really pollutes the CI output which should be clean and structured.

Disabling tracing for the build and test script because the errors will still show up and the CI will look more clean.
2017-05-25 14:37:24 -06:00
Paul Gschwendtner 58c8404d73 build: use travis build stages (#4766) 2017-05-25 14:37:00 -06:00
Zhoucheng Li aee42aebb7 build(ci): skip tests on CI when only markdown files have changed (#4452)
Skip e2e and unit tests for Push/PR build
2017-05-23 14:54:55 -06:00
Paul Gschwendtner ecea23c684 build: deploy screenshot functions (#4698)
* build: deploy screenshot functions

* Deploys the screenshot functions for push builds
* Runs deploying & publishing in parallel

* Fix comment about parallel
2017-05-22 15:58:32 -06:00
Paul Gschwendtner e2f67f5b06 build: fix rxjs building error for closure (#4709)
When testing against closure, RxJS will be re-compiled to target ES2015 modules.

The RxJS tsconfig file takes all `@types` that are installed and due to a recent update of the gulp types, building RxJS fails now.
2017-05-22 09:40:40 -07:00