Code Monkey home page Code Monkey logo

autorel's People

Contributors

dependabot[bot] avatar jcornaz avatar

Watchers

 avatar  avatar

autorel's Issues

Execute all user commands in the same shell instance

At the moment the shell context is not preserved between the different command lines. That may surprise the user.

Example:

hooks:
  verify:
    - mkdir test # Create test directory
    - cd test # Enter test directory
    - echo $PWD # We are NOT in the test directory. Because each line has a new shell context

There is no need to share a same context between different phases (verify, prepare and publish). But inside a given phase, all commands should be invoked in the same context.

Publish to crates.io

For rustaceans, it should be possible to install the CLI with:

cargo install autorel.

Custom change type / Changelog section

I'd like to have a "performance" and a "deprecated" sections in my changelog.

I'd be nice if I could define custom changelog sections with their respective commit type.

Should fail by default if no previous release was found

Not finding a previous versions in the tags is very likely to be the symptom of a missonfiguration.

Maybe the user forgot to fetch the tags when cloning, or forgot to define the appropriate tag prefix in the config file.

In any case, it would be better abort (by default) if no previous version is found.

For the first release, one could explicitly append a --force flag to proceed with the release, even if no previous version is found.

A first-class search-n-replace feature

Search and replace strings when releasing is a quite common operation.

Right now I have to:

  1. Use sed in the prepare phase
  2. Explicitly add the concerned file in the list of files to commit

It'd be nice if I had only a simple and single config step. Maybe something like:

search_and_replace:
    - file: README.md
    - search: "version = \".*\""
    - replace: "version = \"{{version}}\""

And that search-n-replace step would take care of updating the file as well as commiting it.

Don't trigger release if there are only breaking changes (without features nor fixes)

Sometime we may make breaking changes that are a preparation for an incoming feature.

After that kind of change, the main branch is perfectly releasable, but contains only breaking changes and no feature. That means users of the software/library being released get the annoyance of the breaking change without the value of a feature/fix.

That situation is pretty easy to detect and avoid. A release should happen only if there are new features and/or fixes. If there are only breaking changes, it shouldn't be released.

Probably the (existing) --force flag should cause the force the release to happen, even if when there are only braking changes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.