All Projects → disruptek → bump

disruptek / bump

Licence: MIT license
a tiny tool to bump nimble versions 🍻

Programming Languages

nim
578 projects

Projects that are alternatives of or similar to bump

Cli
🆑📍 Setup automated semver compliant package publishing
Stars: ✭ 272 (+1082.61%)
Mutual labels:  module, version
bump
A generic version tracking and update tool
Stars: ✭ 33 (+43.48%)
Mutual labels:  version, bump
nimssl
Nimssl is a Nim wrapper for the OpenSSL library
Stars: ✭ 18 (-21.74%)
Mutual labels:  nimble
atomic-calendar-revive
An advanced calendar card for Home Assistant Lovelace.
Stars: ✭ 218 (+847.83%)
Mutual labels:  module
SnipWire
Full Snipcart shopping cart integration for ProcessWire CMF
Stars: ✭ 16 (-30.43%)
Mutual labels:  module
zscilib
An open-source scientific computing library for embedded systems running Zephyr OS or standalone.
Stars: ✭ 85 (+269.57%)
Mutual labels:  module
netdev stdlib
Netdev is a vendor-neutral network abstraction framework maintained by Puppet, Inc
Stars: ✭ 30 (+30.43%)
Mutual labels:  module
Framer-Module-ShakeEvent
Shake event for your prototype.
Stars: ✭ 62 (+169.57%)
Mutual labels:  module
icingaweb2-module-fileshipper
Provide CSV, JSON, XML and YAML files as an Import Source for the Icinga Director and optionally ship hand-crafted additional Icinga2 config files
Stars: ✭ 25 (+8.7%)
Mutual labels:  module
next-ver
Tells you the next semantic version for your local package
Stars: ✭ 27 (+17.39%)
Mutual labels:  version
automatic-vendor-federation
Utility to enable automatic vendor sharing within bundles using Module Federation
Stars: ✭ 69 (+200%)
Mutual labels:  module
HttpsUtility
A basic HTTPS utility S# module.
Stars: ✭ 45 (+95.65%)
Mutual labels:  module
maze generator
A work-in-progress Javascript maze generator module, compatible with both Deno and Node. 🌽
Stars: ✭ 35 (+52.17%)
Mutual labels:  module
ZfSnapGeoip
Maxmind Geoip module for Zend Framework 2
Stars: ✭ 15 (-34.78%)
Mutual labels:  module
puppetlabs-activemq
Puppet ActiveMQ Module
Stars: ✭ 25 (+8.7%)
Mutual labels:  module
parver
Parse and manipulate version numbers.
Stars: ✭ 41 (+78.26%)
Mutual labels:  version
nim-mod
A Nim MOD player just for fun
Stars: ✭ 40 (+73.91%)
Mutual labels:  module
icingaweb2-module-businessprocess
Create top-level views of your applications in a graphical editor. Rules express dependencies between existing hosts and services and let you alert on application level. Business processes are displayed in a tree or list overview.
Stars: ✭ 106 (+360.87%)
Mutual labels:  module
autorevision
A script for extracting version information useful in release/build scripting.
Stars: ✭ 73 (+217.39%)
Mutual labels:  version
ppa6-python
Python module and documentation for direct printing on Peripage A6 / A6+ thermal printer via bluetooth
Stars: ✭ 37 (+60.87%)
Mutual labels:  module

bump

Test Matrix GitHub release (latest by date) Minimum supported Nim version License buy me a coffee

It just bumps the value of the version in your .nimble file, commits it, tags it, and pushes it.

hub from https://github.com/github/hub enables GitHub-specific functionality.

For an explanation of the "social contract" that is semantic versioning, see https://semver.org/

Note: I only test bump on Linux against git v2.23.0, but it seems to work against git v2.17.0. It has also been tested on OS X with git v2.23.0. Platform-specific code in the tool:

  1. we identify your current working directory differently on macos and genode, and perhaps some day, other platforms as well.

  2. by the same token (well, not the same token, but...) if Nim ever invents a new ExtSep for your platform (ie. the character that separates filename from its extension), you can rebuild bump to use that new separator.

If you had to read that section carefully, please file a bug report with your vendor.

Usage

By default, bump increments the patch number.

$ bump
🎉1.0.1
🍻bumped

You can set the Nim logging level to monitor progress or check assumptions. If built with -d:debug, you'll get lvlDebug output by default. Release builds default to lvlNotice, and the default log-level is set to lvlInfo otherwise.

$ bump --log lvlInfo
✔️git tag --list
🎉1.0.2
✔️git commit -m 1.0.2 /some/demo.nimble
✔️git tag -a -m 1.0.2 1.0.2
✔️git push
✔️git push --tags
🍻bumped

Please add a few words to describe the reason for the new version. These will show up in tags as well.

$ bump fixed a bug
🎉1.0.3: fixed a bug
🍻bumped

Major bumps are for changes that might disrupt another user of the software.

$ bump --major api redesign
🎉2.0.0: api redesign
🍻bumped

You should add minors when you add functionality.

$ bump --minor added a new feature
🎉2.1.0: added a new feature
🍻bumped

A dry-run option merely shows you the future version/message.

$ bump --dry-run what if i fix another bug?
🎉2.1.1: what if i fix another bug?
$ bump fixed another bug!
🎉2.1.1: fixed another bug!
🍻bumped

You can specify the next version manually if necessary.

$ bump --manual 3.3.1 wrapper tracks version from upstream lib
🎉3.3.1: wrapper tracks version from upstream lib
🍻bumped

If you already use a v prefix for your tags, bump will add one, too.

$ bump strange tag ahead
🎉v2.1.2: strange tag ahead
🍻bumped

You can use --v to force the v prefix. This is might be necessary if you want a v prefix and you haven't created any tags yet, or if you have other atypical tags in git tag --list.

$ bump --v my first tag is a weird one
🎉v1.0.1: my first tag is a weird one
🍻bumped

If your last version had a [vV]\.? prefix, your next one will, too.

$ git tag -m 'a very bad idea' -a V.1.0.2
$ bump going from bad to worse
🎉V.1.0.3: going from bad to worse
🍻bumped

You can commit the entire repository at once to reduce gratuitous commits.

$ bump --commit quick fix for simple buglet
🎉2.1.4: quick fix for simple buglet
🍻bumped

If you have hub installed, you can also mate a GitHub release to the new tag.

$ bump --minor --release add release option
🎉2.2.0: add release option
🍻bumped

Optionally specify a particular .nimble file to work on.

$ bump --nimble other.nimble
🎉2.6.10
🍻bumped

Complete Options via --help

Usage:
  bump [optional-params] [message: string...]
increment the version of a nimble package, tag it, and push it via git
Options(opt-arg sep :|=|spc):
  -h, --help                          print this cligen-erated help
  --help-syntax                       advanced: prepend,plurals,..
  -m, --minor        bool    false    increment the minor version field
  --major            bool    false    increment the major version field
  -p, --patch        bool    true     increment the patch version field
  -r, --release      bool    false    also use `hub` to issue a GitHub release
  -d, --dry-run      bool    false    just report the projected version
  -f=, --folder=     string  ""       specify the location of the nimble file
  -n=, --nimble=     string  ""       specify the nimble file to modify
  -l=, --log-level=  Level   lvlInfo  specify Nim logging level
  -c, --commit       bool    false    also commit any other unstaged changes
  -v, --v            bool    false    prefix the version tag with an ugly `v`
  --manual=          string  ""       manually set the new version to #.#.#

Library Use

There are some procedures exported for your benefit; see the documentation for the module as generated directly from the source.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].