You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CI/CD: Integrate with Travis CI & semantic-release (#12)
* Initial configuration of Travis CI
It's time to get with the program and start using CI processes with this
project. It would have helped avoid some silly mistakes that I have made
thus far in regards to believing I'm ready to publish our
project/package. This commit provides the initial configuration for the
Travis CI integration/hook. Note that Travis CI has already been enabled
for this repo. I'm sure moving forward we will evolve our Travis CI
configuration/process.
new file: .travis.yml
* Build before we run tests in the 'prepublish' script
Per NPM docs the 'prepublish' script is ran after a local install. See:
https://docs.npmjs.com/misc/scripts. We modify our 'prepublish' script
to build before we run tests. Prior, if someone cloned our repo, would
fail the linting part of our tests as imports from 'dist' made by our
demo wouldn't resolve as the 'dist' folder wouldn't have been built yet.
Note that the 'prepublish' script will still fail after someone cloned
our repo if they don't have a Google API key set as an environment
variable. But our CI does! :)
We also have changed the CI build lifecycle to not run the 'prepublish'
script during dependency install. This ought to help reduce the build
time by not duplicating script runs during different parts of the CI
build lifecycle.
modified: .travis.yml
modified: package.json
* Add Travis CI build badge to README.md
Because badges! w00t! My first badge. :)
modified: README.md
* Use latest Node 8 release with Travis CI build
Previously I used the latest Node 6 release with the Travis CI build as
this was what I had running locally. I realized that what we would
deploy would run on the latest Node so I upgrade locally to the latest
Node which is 8. Also 8 is the most recent Node version to be under LTS.
As a result I've now changed the Travis CI build to use Node 8 as well
to match what we will deploy under and what we ought to be using locally
for development.
modified: .travis.yml
* Build: Setup CI/CD to automate package publishing with semantic-release
This commit sets up our CI/CD pipeline to automate our package
publishing with the `semantic-release` package. We have configured
`semantic-release` to use the ESLint rules for writing commit messages
as they seem simpler than the default Angular rules. Docs for writing
ESLint commit messages can be found here:
https://eslint.org/docs/developer-guide/contributing/pull-requests#step-2-make-your-changes
modified: .travis.yml
modified: package.json
modified: yarn.lock
Note that if you exclude the `--ignore-scripts` option when installing a package then the `prepublish` script in `package.json` is ran after installing locally. Tests are ran as part of the `prepublish` script and they will fail if you haven't yet set a Google API key to the enivronment variable `GOOGLE_API_KEY` (see setup section).
25
+
21
26
# Setup
22
27
This component relies on some basic setup before usage. It makes use of services provided by Google. To properly make use of the services you will need to do three things:
0 commit comments