Skip to content

finalize fails with FileNotFoundError when no newsfragments dirย #26

@jaraco

Description

@jaraco
 singledispatch main ๐Ÿš tox -e finalize
finalize: install_deps> python -I -m pip install 'jaraco.develop>=7.23' towncrier
finalize: commands[0]> python -m jaraco.develop.finalize
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /Users/jaraco/code/jaraco/singledispatch/.tox/finalize/lib/python3.13/site-packages/jaraco/develop/finalize.py:11 in finalize                   โ”‚
โ”‚                                                                                                                                                 โ”‚
โ”‚    8                                                                                                                                            โ”‚
โ”‚    9 @main                                                                                                                                      โ”‚
โ”‚   10 def finalize():                                                                                                                            โ”‚
โ”‚ โฑ 11 โ”‚   ver = towncrier.semver(towncrier.get_version())                                                                                        โ”‚
โ”‚   12 โ”‚   # workaround for twisted/towncrier#538                                                                                                 โ”‚
โ”‚   13 โ”‚   pathlib.Path('newsfragments').mkdir(exist_ok=True)                                                                                     โ”‚
โ”‚   14 โ”‚   towncrier.run('build', '--yes')                                                                                                        โ”‚
โ”‚                                                                                                                                                 โ”‚
โ”‚ /Users/jaraco/code/jaraco/singledispatch/.tox/finalize/lib/python3.13/site-packages/jaraco/develop/towncrier.py:65 in get_version               โ”‚
โ”‚                                                                                                                                                 โ”‚
โ”‚   62 โ”‚   >>> str(get_version())                                                                                                                 โ”‚
โ”‚   63 โ”‚   '...'                                                                                                                                  โ”‚
โ”‚   64 โ”‚   """                                                                                                                                    โ”‚
โ”‚ โฑ 65 โ”‚   return repo().get_next_version(release_kind())                                                                                         โ”‚
โ”‚   66                                                                                                                                            โ”‚
โ”‚   67                                                                                                                                            โ”‚
โ”‚   68 def run(command, *args):                                                                                                                   โ”‚
โ”‚                                                                                                                                                 โ”‚
โ”‚ /Users/jaraco/code/jaraco/singledispatch/.tox/finalize/lib/python3.13/site-packages/jaraco/develop/towncrier.py:42 in release_kind              โ”‚
โ”‚                                                                                                                                                 โ”‚
โ”‚   39 โ”‚   Determine which release to make based on the files in the                                                                              โ”‚
โ”‚   40 โ”‚   changelog.                                                                                                                             โ”‚
โ”‚   41 โ”‚   """                                                                                                                                    โ”‚
โ”‚ โฑ 42 โ”‚   bumps = map(_release_bump, news_fragments())                                                                                           โ”‚
โ”‚   43 โ”‚   # use min here as 'major' < 'minor' < 'patch'                                                                                          โ”‚
โ”‚   44 โ”‚   return min(bumps, default='patch')                                                                                                     โ”‚
โ”‚   45                                                                                                                                            โ”‚
โ”‚                                                                                                                                                 โ”‚
โ”‚ /Users/jaraco/code/jaraco/singledispatch/.tox/finalize/lib/python3.13/site-packages/jaraco/develop/towncrier.py:33 in news_fragments            โ”‚
โ”‚                                                                                                                                                 โ”‚
โ”‚   30 def news_fragments():                                                                    โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ        โ”‚
โ”‚   31 โ”‚   except_ = 'README.rst', '.gitignore'                                                 โ”‚ except_ = ('README.rst', '.gitignore') โ”‚        โ”‚
โ”‚   32 โ”‚   path = pathlib.Path('newsfragments')                                                 โ”‚    path = PosixPath('newsfragments')   โ”‚        โ”‚
โ”‚ โฑ 33 โ”‚   names = (file for file in path.iterdir() if file.name not in except_)                โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ        โ”‚
โ”‚   34 โ”‚   return names if path.exists() else ()                                                                                                  โ”‚
โ”‚   35                                                                                                                                            โ”‚
โ”‚   36                                                                                                                                            โ”‚
โ”‚                                                                                                                                                 โ”‚
โ”‚ /opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/pathlib/_local.py:575 in iterdir               โ”‚
โ”‚                                                                                                                                                 โ”‚
โ”‚   572 โ”‚   โ”‚   special entries '.' and '..' are not included.                                   โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ        โ”‚
โ”‚   573 โ”‚   โ”‚   """                                                                              โ”‚ root_dir = 'newsfragments'            โ”‚        โ”‚
โ”‚   574 โ”‚   โ”‚   root_dir = str(self)                                                             โ”‚     self = PosixPath('newsfragments') โ”‚        โ”‚
โ”‚ โฑ 575 โ”‚   โ”‚   with os.scandir(root_dir) as scandir_it:                                         โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ        โ”‚
โ”‚   576 โ”‚   โ”‚   โ”‚   paths = [entry.path for entry in scandir_it]                                                                                  โ”‚
โ”‚   577 โ”‚   โ”‚   if root_dir == '.':                                                                                                               โ”‚
โ”‚   578 โ”‚   โ”‚   โ”‚   paths = map(self._remove_leading_dot, paths)                                                                                  โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
FileNotFoundError: [Errno 2] No such file or directory: 'newsfragments'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions