No longer runs the build artifacts, docs-content, dashboard, screenshot deployment tasks on Pull Requests. This means that there aren't any noop jobs running anymore
Scopes the logic, that skips the build if only Markdown files, only to PR builds. This avoids issues where we merge in a lot of PRs to master, followed by a docs PR which ends up silencing potential build errors.
* 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.
* 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.
* 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.
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.
* 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.
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.
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.
* 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
* 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
* 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
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.
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.
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.
* build: run closure-compiler
* Adds a script that runs the closure-compiler against the devapp / demo-app.
* The script will run on the CI as a new mode. Ensuring that all our components are closure-compatible.
Fixes#1206.
* Address feedback
Set up firebase functions to copy valid data to firebase storage/database
Use JasonWebToken to validate data written to firebase
Github Status change will be done in another PR
Result at: https://material2-screenshots.firebaseapp.com/3628
* Saucelabs seems to have issues with Edge and the `karma-coverage` plugin.
* Running on Browserstack seems to be work without any flakiness and also makes the build faster (runs less browsers than on saucelabs)
* Currently the Travis CI leader mode can timeout, because the `e2e modes` runs longer than 10 minutes and the leader mode then needs to wait the same time (just without any output).
Travis stops the build automatically when there is no output for the last 10 minutes.
* The plugin `travis-after-modes` has been updated to log a message (like a progress-bar) each time the modes are checked again.
The recently added script for the per-commit publishing is not properly checking for the environment variable.
This means that the per-commit packages can be not created yet.
* chore: create build artifacts for each commit
* Switch to new npm package
* Update version to latest
* Publish the builds after all modes succeeded.
* Address comments
* Change snake_case to camelCase
* chore(forbidden-identifiers): detect incorrect line endings
* Removes stale scope checking (from `@angular2-material/$COMPONENT` times)
* Adds support for error grouping (useful when having a file full of invalid line endings)
* Moves chains into exta functions to understand procession easily.
* Update comment wording
* fix(button): remove relative import from other scope.
* Removes invalid relative import from other scope.
* Forbidden identifiers should run against all sources when not checking a PR.
* Cleanup Forbidden identifiers script, by using ES6 arrow functions.
Fixes#967.
* chore: update angular-cli version
* tests are passing
* use straight jasmine functions
* remove deprecated methods
* remove use of new Provider(...)
* fix tests that relied on returning a promise
* debugging ios8