commitizen-action icon indicating copy to clipboard operation
commitizen-action copied to clipboard

How to use pre_bump_hook scripts with this action

Open dirceu-cit opened this issue 2 years ago • 1 comments

Hi all,

Question here:

I am interested in using this pre-bump-hooks built-in commitizen feature to update my repository documentation before create the tag and push the commit, like it is said in the site:

Useful when you need to generate documentation based on the new version. During execution of the script, some environment variables are available

It works pretty well in a local machine using the installed commitizen version (pip install -U commitizen) but, if I understood correctly, this action is a Docker Action, which means that it runs inside a pre-built docker image which does not contain the scripts that is referenced in my .cz.yaml configuration file, unless if I was able to mount a volume in this image containing my script, for instance (not sure if it is a regular approach in github actions - volume mount)

Is there any way to do it? Are you have some related issue in the roadmap?

Thanks in advance

dirceu-cit avatar Dec 05 '23 21:12 dirceu-cit

The Docker image has your code mounted automatically. Otherwise it wouldn't be able to find the pyproject.toml or the .cz.toml depending on which one you are using. Now, the potential problem I see with the bump hooks is that if your dependencies require something that is not in the docker image... it becomes quite complicated to run the hook. If it's something like mkdocs, you can add it to extra_requirements and it should work.

Alternatively, you can split the version updates on the files, and the commit creation:

- run: cz bump --files-only
- run: ./scripts/docs
- run: git commit -am "bump: new version $(cz version -p)"

woile avatar Dec 06 '23 06:12 woile