Skip to content

Commit

Permalink
chore(release): add commands to ease releasing
Browse files Browse the repository at this point in the history
  • Loading branch information
Raphaël Benitte committed Jun 29, 2017
1 parent 7fdd703 commit ecd7c43
Show file tree
Hide file tree
Showing 6 changed files with 307 additions and 6 deletions.
47 changes: 47 additions & 0 deletions .changelogrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"app_name": "veggies",
"intro": "Veggies is an awesome cucumberjs boilerplate for API/CLI testing. Great for testing APIs built upon Express, Koa, HAPI, Loopback and others. It's also the perfect companion for testing CLI applications built with commander, meow & Co.",
"file": "CHANGELOG.md",
"sections": [
{
"title": "Bug Fixes",
"grep": "^fix"
},
{
"title": "Features",
"grep": "^feat"
},
{
"title": "Documentation",
"grep": "^docs"
},
{
"title": "Breaking changes",
"grep": "BREAKING"
},
{
"title": "Refactor",
"grep": "^refactor"
},
{
"title": "Style",
"grep": "^style"
},
{
"title": "Test",
"grep": "^test"
},
{
"title": "Chore",
"grep": "^chore"
},
{
"title": "Branchs merged",
"grep": "^Merge branch"
},
{
"title" : "Pull requests merged",
"grep": "^Merge pull request"
}
]
}
8 changes: 6 additions & 2 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,12 @@ npm-debug.log*
# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output
# Documentation
doc
examples

# Tests
tests

# Dependency directories
node_modules
Expand Down
148 changes: 148 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# veggies

_Veggies is an awesome cucumberjs boilerplate for API/CLI testing. Great for testing APIs built upon Express, Koa, HAPI, Loopback and others. It's also the perfect companion for testing CLI applications built with commander, meow & Co._

## v0.1.0 false ( Thu Jun 29 2017 10:39:34 GMT+0900 (JST) )


## Bug Fixes
- fix
([262fdde8](git@github.com:ekino/veggies/commit/262fdde82df9c46189b94019d054f9a2e15f7b62))

- **format**
- add missing formatting
([1868ed27](git@github.com:ekino/veggies/commit/1868ed27673b30cd15d664df41e67cb7da36fcf1))

- **lint**
- fix linting
([3ee554a0](git@github.com:ekino/veggies/commit/3ee554a0977fa6802cead1ba551c67c6a99ee1d3))

- **readme**
- fix coverage badge
([79fd0ddd](git@github.com:ekino/veggies/commit/79fd0ddd9fc00435d0248afd1298c0152ab8487c))
- fix travis badge
([6c478d6e](git@github.com:ekino/veggies/commit/6c478d6ea641c2ac6a724d17e5de01657190cbe7))




## Features

- **cli**
- add ability to dump stdout|stderr
([6a2708cb](git@github.com:ekino/veggies/commit/6a2708cb911834aa77775ed9ae249a5b77c4dedb))
- init CLI extension
([42430f26](git@github.com:ekino/veggies/commit/42430f26230519babd791aa8c82af30c3205e1ce))

- **collect**
- add ability to inject previously collected values
([b72de098](git@github.com:ekino/veggies/commit/b72de098ed351564f15d699d1fcffe3608750fff))

- **examples**
- add example with data collection/injection and scenario outline
([f895b733](git@github.com:ekino/veggies/commit/f895b733401a1879303adcc25b64db6d2ea4b58a))
- add example with data collection/injection and scenario outline
([ac43aa14](git@github.com:ekino/veggies/commit/ac43aa14f2799720cc9a29a52b937a454bfcd7d1))
- run example on CI
([e793280f](git@github.com:ekino/veggies/commit/e793280ff9cca2e76d0aaf87b5410bc8dba4038d))




## Documentation

- **cli**
- improve CLI extension documentation
([6257454e](git@github.com:ekino/veggies/commit/6257454e4197e2f3789d391ecce094271f54e7f9))

- **collect**
- document data collection & reuse
([0adbd664](git@github.com:ekino/veggies/commit/0adbd664f5f6e94e6c8de8186413ebd19fca4de8))

- **definitions**
- add link to http_api definitions file
([5201736d](git@github.com:ekino/veggies/commit/5201736ddb81a222a43ccac45c8d3c6c4a08f11d))

- **example**
- add simple example
([23c490e8](git@github.com:ekino/veggies/commit/23c490e8d81d437e0f4bca2af4cb797b59249ced))

- **examples**
- update documentation about provided examples
([c25f4d70](git@github.com:ekino/veggies/commit/c25f4d7093df8e18793f9c1b1afe588821968b10))
- add documentation about provided examples
([74f47d09](git@github.com:ekino/veggies/commit/74f47d09fcc76b6986a44613f8b8f1a580f6d3c0))

- **extensions**
- init documentation on extensions internals
([9bfba8e2](git@github.com:ekino/veggies/commit/9bfba8e22c5f1899411064873f734216ae9807a9))

- **index**
- update links according to repository transfer
([843d072e](git@github.com:ekino/veggies/commit/843d072ed5cab047c1717c9d2a9ef3c61429932f))
- add links to technical documentation
([0e7c5c5c](git@github.com:ekino/veggies/commit/0e7c5c5c32cc09d0a549b09531d7809ad6bd5655))

- **init**
- init documentation
([15e0d304](git@github.com:ekino/veggies/commit/15e0d3047e8615a754068fd0e6c017108c1ead3c))

- **post**
- add documentation about posting data
([fe2625e7](git@github.com:ekino/veggies/commit/fe2625e788ad3ae1c393f4c5d53adfc067e8b0f7))

- **toc**
- improve README TOC
([b8c11c92](git@github.com:ekino/veggies/commit/b8c11c92329a94f026c56ded1ca96381290a1514))

- **type system**
- add documentation about type system
([e854a254](git@github.com:ekino/veggies/commit/e854a254db60bfc2579b21468857aa72087b87a6))




## Test

- **cast**
- add unit tests on cast helper
([a2c3f8f5](git@github.com:ekino/veggies/commit/a2c3f8f5870f68b6433c008e0401ec536b37ae51))

- **cli**
- test cli examples on CI
([0445a0e5](git@github.com:ekino/veggies/commit/0445a0e5a0934c1143740e6383ba675e8a170ba6))

- **init**
- init tests
([493342b6](git@github.com:ekino/veggies/commit/493342b69dd89c69d1f6b1c0c9a0935f41088f4c))




## Chore

- **doc**
- add ability to generate & publish jsdoc
([1b27522e](git@github.com:ekino/veggies/commit/1b27522e05afa8b064c3b7504f8afb41bf2b97a8))

- **format**
- add prettier formatting
([d837fe29](git@github.com:ekino/veggies/commit/d837fe296645cec60b05d1a5ab777b8bec406240))

- **init**
- init repo
([0957cc63](git@github.com:ekino/veggies/commit/0957cc6324f45de8b3d503b1b3f0f9fcf78211a4))




## Pull requests merged
- Merge pull request #1 from ekino/feat-cli-extension
([7fdd7038](git@github.com:ekino/veggies/commit/7fdd70386e8ea29269f8db7dc9dc3486ad84b9bd))





---
<sub><sup>*Generated with [git-changelog](https://github.com/rafinskipg/git-changelog). If you have any problems or suggestions, create an issue.* :) **Thanks** </sub></sup>
57 changes: 57 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
.DEFAULT_GOAL := help

############## Vars that shouldn't be edited ##############
NODE_MODULES ?= "./node_modules"
NODE_MODULES_BIN ?= "${NODE_MODULES}/.bin"

FROM_VERSION ?= $(shell yarn run -s version)

############## HELP ##############

#COLORS
RED := $(shell tput -Txterm setaf 1)
GREEN := $(shell tput -Txterm setaf 2)
WHITE := $(shell tput -Txterm setaf 7)
YELLOW := $(shell tput -Txterm setaf 3)
RESET := $(shell tput -Txterm sgr0)

# Add the following 'help' target to your Makefile
# And add help text after each target name starting with '\#\#'
# A category can be added with @category
HELP_HELPER = \
%help; \
while(<>) { push @{$$help{$$2 // 'options'}}, [$$1, $$3] if /^([a-zA-Z\-\%]+)\s*:.*\#\#(?:@([a-zA-Z\-\%]+))?\s(.*)$$/ }; \
print "usage: make [target]\n\n"; \
for (sort keys %help) { \
print "${WHITE}$$_:${RESET}\n"; \
for (@{$$help{$$_}}) { \
$$sep = " " x (32 - length $$_->[0]); \
print " ${YELLOW}$$_->[0]${RESET}$$sep${GREEN}$$_->[1]${RESET}\n"; \
}; \
print "\n"; }

help: ##prints help
@perl -e '$(HELP_HELPER)' $(MAKEFILE_LIST)

############## RELEASE ##############
changelog: ##@release create changelog
@echo "${YELLOW}generating changelog from v${FROM} to v${RELEASE_VERSION}${RESET}"
ifeq ($(FROM), false)
@yarn run changelog -- -t false
else
@yarn run changelog -- -t "v${FROM}"
endif

update-package-version: ##@release updates version in package.json
@echo "${YELLOW}updating package.json version to ${RELEASE_VERSION}${RESET}"
@npm version --no-git-tag-version "${RELEASE_VERSION}"

release: ##@release generates a new release
@echo "${YELLOW}building release ${RELEASE_VERSION} from ${FROM_VERSION}${RESET}"
@-git stash
@make update-package-version
@make changelog FROM=${FROM_VERSION}
@git add package.json CHANGELOG.md
@git commit -m "chore(v${RELEASE_VERSION}): bump version to ${RELEASE_VERSION}"
@git tag -a "v${RELEASE_VERSION}" -m "version ${RELEASE_VERSION}"
@git push origin v${RELEASE_VERSION}
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"cucumber": "^2.3.1",
"eslint": "^4.1.1",
"gh-pages": "^1.0.0",
"git-changelog": "^1.1.2",
"jest": "^20.0.4",
"jsdoc": "^3.4.3",
"minami": "^1.2.3",
Expand All @@ -49,6 +50,7 @@
"lint": "eslint .",
"doc": "jsdoc src -R README.md -r -d doc --verbose -t node_modules/minami",
"doc-pub": "yarn run doc && gh-pages -d doc",
"examples": "cucumberjs --require examples/support examples/features"
"examples": "cucumberjs --require examples/support examples/features",
"changelog": "git-changelog -t false -n v${npm_package_version}"
}
}

0 comments on commit ecd7c43

Please sign in to comment.