- Notifications
You must be signed in to change notification settings - Fork261
Description
Bug Report
Description
Running "semantic-release --noop version --print" to try and verify my configuration and see the next version number.
I have notemplate_dir in my pyproject.toml, so using the default template.
Expected behavior
Would not expect this error message since I'm using the default templates and don't have a template directory specified.
Actual behavior
The following error:
🛡 You are running in no-operation mode, because the '--noop' flag was supplied[18:51:22] WARNING [semantic_release.cli.config] WARNING config.from_raw_config: Token value is missing! config.py:558Template directory must be inside of the repository directory.Environment
Windows 11
Python 3.9
Semantic-Release 9.8.6
Poetry 1.8.2
Configuration
Semantic Release Configuration
...[tool.semantic_release]version_variables = ["src/project/__init__.py:__version__"]version_toml = ["pyproject.toml:tool.poetry.version"]changelog_file ="CHANGELOG.md"build_command ="poetry build"dist_path ="dist/"upload_to_vcs_release =falseupload_to_pypi =falseremove_dist =falsepatch_without_tag =truemajor_on_zero =true[tool.semantic_release.commit_parser_options]allowed_tags = ["build","chore","ci","docs","feat","fix","perf","style","refactor","test"]minor_tags = ["feat"]patch_tags = ["fix","perf"][tool.semantic_release.branches.main]match ="develop"prerelease =false[tool.semantic_release.branches.others]match ="^(?!develop$)"prerelease =trueprerelease_token ="alpha"
Execution Log
semantic-release -vvcommand
[18:52:55] DEBUG [semantic_release.cli.commands.main] DEBUG main.main: logging level set to: DEBUG main.py:123🛡 You are running in no-operation mode, because the '--noop' flag was supplied DEBUG [semantic_release.cli.commands.main] DEBUG main.main: global cli options: GlobalCommandLineOptions(noop=True, verbosity=2, main.py:135 config_file='pyproject.toml', strict=False) INFO [semantic_release.cli.util] INFO util.load_raw_config_file: Loading configuration from pyproject.toml util.py:79 DEBUG [semantic_release.cli.util] DEBUG util.load_raw_config_file: Trying to parse configuration pyproject.toml in TOML format util.py:82 DEBUG [semantic_release.cli.config] DEBUG config.select_branch_options: Rejecting group 'main' as 'develop' doesn't match 'fix/deploy2' config.py:421 INFO [semantic_release.cli.config] INFO config.select_branch_options: Using group 'others' options, as '^(?!develop$)' matches 'fix/deploy2' config.py:414 DEBUG [semantic_release.cli.config] DEBUG config.from_raw_config: hvcs token is not set config.py:555 WARNING [semantic_release.cli.config] WARNING config.from_raw_config: Token value is missing! config.py:558Template directory must be inside of the repository directory.Additional context
The followingcheck in cli/config.py:582 triggers the error:
ifraw.repo_dirnotintemplate_dir.parents:
I added some debug outputs and observe that raw.repo_dir is giving a full path, e.g. "C:\Code\project" whereas the default template_dir is "templates"- not an absolute path. template_dir.parents then comes out to['.']. I believe the lack of resolving the path to an absolute path might be to blame here. repo_dir gets resolved to an absolute path by the field_validator in RawConfig,here.