- Add tests for bitbucket v7 fix
- Fix pr-bumper compatibility with bitbucket 7 new merging
- _maybePrependChangelogForPackages increase version by scope
- Add tests and move from async functions to promises
- Add get-last-merge-commit-hash command.
- Prepend changelog was using the wrong path.
- Add comments, improve cli documentation and reduce coverage until I'm adding tests.
- Debugging: try to determine what teamcity is passing to the prependChangelog function
- Tweak prepend-changelog to be able to debug the code on teamcity
- Support get-merged-pr-scope and try to fix prepend-changelog
- Changelog is not prepend properly. There is an issue with the way the data was mapped.
- Console log result of pr-bumper command.
- Fix handling of mono repos (previous version was not working)
- Add a new option to support mono repositories. It's now possible to do
check --mono-repo
orbump --mono-repo
.
- Adding prepend-changelog command
- Log the result of the operation
- Return scope from check function
- Fixed Travis API key.
- Updated
pr-bumper.json
config to not run snapshot (https://github.com/ciena-blueplanet/pr-bumper#featuresdependencies)
- Upgrade
eslint-config-frost-standard
devDependency to^9.0.1
- Updated shell scripts to handle Travis config files that specify a non-exact Node version, for example using
8
instead of8.1.2
. (resolves #135)
.travis/maybe-cat-log.sh
to not skip the bump commit, as that's when the log file would actually be created.
- New
logging
feature, which outputs information related to the bump action and the PR that caused it during abump
command. (Fixes #125) - New
maybe-cat-log.sh
script to.travis
to help people debug their use of the newlogging
feature.
- Our own
.pr-bumper.json
to enable the newlogging
feature - Our own
.travis.yml
file to use the newmaybe-cat-log.sh
to log our generated log file contents during CI
- New version number in the bump commit message (fixes #118)
Added
support for using asterisk in GFM list instead of hyphens if desired, since it is valid Github markdown (Fixes #127)
- Fixed error message for when no GFM checkboxes are checked to say
No version-bump scope found
instead ofToo many version-bump scopes found
.
- Added ability to specify multiple spaces after bullets in GFM markdown, as some markdown lint standards prefer to have a couple spaces between bullets and the list content rather than just a single space.
- Fixed lint warnings.
- Updated README.md to remove
@^2.0.0
from NPM intallation instructions
- Fixed edge case bug where coverage info includes a
0
.
Adding safeUrl
to bitbucket error messages
Support for ci.provider: "bamboo"
Support for vcs.provider: "bitbucket-cloud"
Support package-lock.json
- Fixed a bug in
.travis/maybe-install.sh
where thenpm install
oryarn install
could fail and the script would still pass.
- Updated CI tokens to hopefully fix publish.
- Added
yarn
support tomaybe-install.sh
, it will now useyarn install
instead ofnpm install
ifyarn.lock
is present.
- Upgraded to
[email protected]
by default for.travis/
scripts - Added
[email protected]
build to travis matrix
- Fixed a bug when updating baseline coverage (+test)
-
Refactored the format of
.pr-bumper.json
to make it easier to identify features and when they are enabled. The new format is documented in theREADME.md
(Resolves #87). -
Changed dependency snapshot feature to be opt-in (like all others), you need to explicitly enable it in
.pr-bumper.json
to use the feature now (Resolves #84). -
Changed changelog feature to be opt-in (like all others), you need to explicitly enable it in
.pr-bumper.json
to use the feature now (Resolves #85). -
Changed how the code coverage feature is enabled. You now need to explicitly enable it in
.pr-bumper.json
-
Changed how the code coverage feature calculates coverage, it now takes into account both the
branches
and thestatements
data, previously it was juststatements
(Resolves #98)
-
Added pre-release support, only
patch
bumping (Resolves #102) -
Added a
maxScope
option in.pr-bumper.json
to prevent accidental bumps larger than desired in certain branches/projects (Resolves #101 as well as #100 and #39) -
Added a configuration option for the coverage feature to allow changing the default location for the current code coverage data (Resolves #97).
- Updated secure auth tokens to fix build
- Added CHANGELOG details from last failed build
- Change Teamcity/Base ci to utilize addRemoteForPush
-
Added a command-line switch
--skip-comments
which explicitly setsprComments
tofalse
in the config, regardless of what is in.pr-bumper.json
. Useful when you just want to get the coverage change info and settingSKIP_COMMENTS
environment variable is difficult. -
Fixed grammar of PR comment about missing scope (thanks @gknoy)
- Updated check for current coverage to use
statements
instead oflines
as it seems the more accurate metric.
- Added support for skipping pr comments in the
pr-bumper check-coverage
command by supplying aSKIP_COMMENTS
env variable.
- Fixed PR comments to use
## ERROR
instead of##ERROR
since apparently at least bitbucket doesn't consider the latter a heading.
- Fixed bug where
pr-bumper check-coverage
failed in dev ifprComments
wastrue
- Fixed logging in
pr-bumper
to only print ifVERBOSE
environment variable is set (except for coverage info, that is forced to log regardless) - Fixed PR comments to include clear indication if the message is the result of an error.
- Fixed PR comments to be formatted nicer (using markdown syntax)
- Fixed PR comments to be more detailed and offer a clearer path to know how to resolve the issue at hand.
- Added more documentation about the changelog feature
- Added ability to post comments to pull requests in certain scenarios. By default this behavior is off, it can be enabled by adding:
to your
"prComments": true
.pr-bumper.json
config. Sadly this feature does not currently work in github.com/travis scenarios. Mainly becausepr-bumper
doesn't have sufficient permissions during the PR build to post a comment on the PR. We're trying to find a way around that, but in the meantime, at least the feature can be used in bitbucket server / teamcity scenarios.
- Added a date string (ISO standard
YYYY-MM-DD
) to the title line when prepending changelog with a new version. - Fixed bug where version bump in
package.json
was being overwritten by coverage update #89.
1.6.0 (never published due to #89)
-
Added the ability to ensure code coverage does not decrease because of a PR. Simply add your project's current code coverage in
package.json
under:"pr-bumper": { "coverage": 95.93 }
Then add a
pr-bumper check-coverage
call to your CI. Thecheck-coverage
command will fail if the current code coverage is below the baseline in yourpackage.json
.NOTE: You must place the
pr-bumper check-coverage
line after you run your tests, orpr-bumper
will not be able to find the current code coverage information to check against the baseline, and your build will fail regardless of your code coverage.During a
pr-bumper bump
command, the current coverage will be saved topackage.json
-
Added the ability to customize the name of the changelog file to prepend (defaults to
CHANGELOG.md
still). -
Added a
[pr-bumper]
prefix to all commits made bypr-bumper
so they can be easily identified. -
Added a
pr-bumper:
prefix to all messages logged to the console bypr-bumper
so they can be easily identified. -
Added initial coverage baseline to
package.json
within this project to enable code coverage check. -
Added
check-coverage
check after the build. -
Added
.travis/maybe-check-coverage.sh
script to wrap a call topr-bumper check-coverage
and skip it if the commit being built is apr-bumper
commit. -
Updated how
.travis/is-bump-commit.sh
verifies that a commit came frompr-bumper
to match the new prefix being used bypr-bumper
for commits.
- Improved application of default values when processing
.pr-bumper.json
. Whereas previously you would have to provide an entire, complex, nested object if you wanted to override the default for any part of a config object, you can now override a partial object in your.pr-bumper.json
and the rest of the object will get the appropriate defaults.
- Updated script to allow the passing of an argument to run only on non-bump commits
- Added initial support for GitHub Enterprise (not integration tested yet)
-
Added ability to override the default
node
version that will be used for publishing via thePUBLISH_NODE_VERSION
environment variable in.travis/
scripts provided bypr-bumper
PUBLISH_NODE_VERSION=stable $(npm root -g)/pr-bumper/.travis/maybe-bump-version.sh
can be used to switch the
node
version that used for bumping from6.9.1
tostable
-
Updated
README.md
to suggest installingpr-bumper
with a version scope, to protect against future breaking changes
- Fixed bug where merge would fail when using
none
scope as it'd still expect a changelog to be present.
-
Updated Travis build scripts.
NOTE: For projects already using pr-bumper with Travis CI, you'll want to update your .travis.yml file to match the updated README.
- Fixed speed of redundant builds to hopefully skip most things
- Stopped adding
[ci skip]
to commit messages to try to get tags to build
- Fixed travis config (hopefully)
- Tried again to fix the Travis CI build
- Fix publishing of non
#none#
bumps
- Fixed (or trying to at least) CI publishing
- Added slack integration for codecov.io
- Fixed an issue with running
npm shrinkwrap
that arises when some package installs things intonode_modules
that isn't inpackage.json
by doing annpm prune
beforenpm shrinkwrap
- Fixed issue where
npm shrinkwrap
was being called w/o--dev
so not all dependencies were actually being accounted for in the snapshot. This is particularly important in things like ember apps where everything is indevDependencies
.
- Updated tests to run in
[email protected]
and[email protected]
and only publish after success on[email protected]
.
- Remove destructuring to avoid problem on node 5.11.1
- Added a
dependencySnapshotFile
property to.pr-bumper.json
which defaults todependency-snapshot.json
more information available here
- Fixed #44 by throwing an error when
# CHANGELOG
is missing/empty unlessprependChangelog
is set tofalse
. This is a breaking change as previously missing# CHANGELOG
sections would result in a default message in theCHANGELOG.md
file.
- Addedd another test to try out codecov.io reporting.
- Attempted to switch from coveralls.io to codecov.io
- Restored default behavior of using
master
branch if noci.env.branch
config is specified.
- Fixed #55
.pr-bumper.json
app configs now take new options:
...
"dependencies": {
"output": {
"directory": "somedir",
"requirementsFile": "requirements.json",
"reposFile": "repos",
"ignoreFile": "ignore"
},
production: false,
"additionalRepos": [
{
"pattern": "\\s+\"(ember\\-frost\\-\\S+)\"",
"url": "https://github.com/ciena-frost/${REPO_NAME}.git"
},
{
"pattern": "\\s+\"(frost\\-\\S+)\"",
"url": "https://bitbucket.ciena.com/scm/bp_frost/${REPO_NAME}.git"
}
]
},
...
If this option block is present, it triggers running the dependency reporting routine, which generates a list of all required deps in the requirementsFile
, a list of additional repos in the reposFile
and a list of pertinent ignores in the ignoreFile
. These files land in the directory
in the root of the reporting project.
The additionalRepos
block is an array of hashes that indicate a RegEx pattern to search package.json
entries for, and each corresponding url will be used to give an absolute path to the matched repo. This is useful for coming up with lists of repo locations needed by the auditing party.
The production
property will cause the tool to only search dependencies
in your package.json
. If it's left false
(the default) or omitted, the reporter will search both dependencies
and devDependencies
.
- Added support for using GFM Checkboxes to choose scope
- Added a
PULL_REQUEST_TEMPLATE
for thepr-bumper
repository itself
- Adds config to suppress changelog generation
Closes #43
- Added documentation about
RO_GH_TOKEN
and a warning that it is printed to travis logs.
You can now configure pr-bumper
to work with something other than Travis CI and GitHub. The only other configuration that has been tested is TeamCity and Bitbucket Server. You can configure pr-bumper
to work with TeamCity and Bitbucket Server by placing a .pr-bumper.json
file in the root of your repository and filling in some information about your CI setup:
{
"ci": {
"env": {
"buildNumber": "TEAMCITY_BUILD_NUMBER",
"pr": "TEAMCITY_PULL_REQUEST"
},
"gitUser": {
"email": "ci-user",
"name": "[email protected]"
},
"provider": "teamcity"
},
"owner": "my-bitbucket-project",
"repo": "my-bitbucket-repository",
"vcs": {
"domain": "bitbucket.my-company-domain.com",
"env": {
"username": "BITBUCKET_USERNAME",
"password": "BITBUCKET_PASSWORD"
},
"provider": "bitbucket-server"
}
}
A string that provides the environment variable that holds the TeamCity build number on the agent that runs your build. One way to set that variable is with the following in your Build Step:
export TEAMCITY_BUILD_NUMBER="%teamcity.build.id%"
A string that provides the environment variable that holds the PR number of the pull request being built (empty when a not a PR build). One way to fill that variable is by including the following in your Build Step:
stripped_branch=\$(echo "%teamcity.build.branch%" | sed -e "s/\/merge//")
re='^[0-9]+$'
if [[ \$stripped_branch =~ \$re ]]
then
export TEAMCITY_PULL_REQUEST="\$stripped_branch"
else
export TEAMCITY_PULL_REQUEST="false"
fi
You can configure the email
and name
that will be used by the git
user for the commit
that bumps the version in package.json
and prepends content to CHANGELOG.md
This setting can be used even if you're using the travis
provider (see below)
Here you configure what CI system you use, the only currently supported options are travis
(the default), or teamcity
The Bitbucket project where your repository resides
The name of your Bitbucket repository
The domain of your Bitbucket Server installation
Strings that provide the environment variables which hold the credentials for a user with write permissions on the repository in question.
Here you configure what VCS system you use, the only currently supported options are github
(the default), or bitbucket-server
Format the CHANGELOG.md
file properly by adding some newlines after the prepended entry.
- Fixes issue where
\r
characters in the pr description weren't properly handled. Who knew GitHub was built on Windows? ;) - Fixes issue where users had to be extremely specific with their
# CHANGELOG
section heading. The following are now all valid as well:#CHANGELOG
,# CHANGELOG
,#changelog
,# changelog
Added ability to maintain a CHANGELOG.md
file automatically via Pull Requests. Whenever pr-bumper
runs on a merge build, it now not only bumps package.json
, but also prepends some content into CHANGELOG.md
at the root of the repository. If that file doesn't exist, it's created.
pr-bumper
will always add a new section at the top of the CHANGELOG.md
file with new version (after the bump), for instance, if pr-bumper
just applied a minor
bump to a package at version 1.2.3
, the new section in CHANGELOG.md
would be # 1.3.0
. What goes under that section depends on what is in the PR Description. If there is a section that is exactly # CHANGELOG
, everything below that is put into the new section. If there is no # CHANGELOG
section in the description, some filler text is placed in the CHANGELOG.md
giving instructions on how to have that section populated automatically by pr-bumper
in the future.