twisted / towncrier

Manage the release notes for your project.
https://towncrier.readthedocs.io
MIT License
755 stars 107 forks source link

issue using check compare-with --dir . #550

Closed Andrea-Fan closed 8 months ago

Andrea-Fan commented 8 months ago

I'm working with towncrier on a git repo. Towncrier on local works fine and when using it with check command it finds the fragment correctly. I've also added a job to a gitlab pipeline that checks the fragments when opening a merge request. The job looks like this sh 'pip install poetry ' sh 'pip install towncrier==23.6.0' sh 'poetry run towncrier check --dir .' when running that job towncrier fails with this output

Traceback (most recent call last): File "/usr/local/bin/towncrier", line 8, in sys.exit(cli()) ^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1157, in call return self.main(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 783, in invoke return __callback(args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/dist-packages/towncrier/check.py", line 64, in _main __main(compare_with, directory, config) File "/usr/local/lib/python3.11/dist-packages/towncrier/check.py", line 74, in __main get_remote_branches(base_directory=base_directory) File "/usr/local/lib/python3.11/dist-packages/towncrier/_git.py", line 21, in get_remote_branches output = check_output( ^^^^^^^^^^^^^ File "/usr/lib/python3.11/subprocess.py", line 466, in check_output return run(popenargs, stdout=PIPE, timeout=timeout, check=True, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/subprocess.py", line 571, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['git', 'branch', '-r']' returned non-zero exit status 128.

adiroiban commented 8 months ago

Hi,

Can you link your CI config file?

Do you pull the full repo history and branch references when you checkout / close the repo inside the CI ?

Most of the time a CI will do a quick shallow clone.

Andrea-Fan commented 8 months ago

I downloaded the code using GIT in a docker, executed MYPY, and then ran the code 'towncrier check --dir .'. Isn't it a file-checking method ., why does it give GIT related errors

pipeline {

agent {
    label 'linux-docker'
}

stages {
    stage('Run Tests'){
       agent {
            docker {
                label 'linux-docker'
                image 'thekevjames/nox:2023.4.22'
                args '-u root:root'
                reuseNode true
            }
        }
        stages{
            stage('Mypy') {
                steps {
                    sh 'nox -s mypy'
                }
            }
            stage('Check Changelog') {
                steps {                          
                    script { 
                        sh 'pip install   poetry  '
                        sh 'pip install towncrier==23.6.0'
                        sh 'poetry run towncrier check --dir  .'
adiroiban commented 8 months ago

I am not sure what are you trying to do here :)

Can you add more info?

towncrier check needs full access to the git repo history.

In this way it can check if the current branch has a newsfragment added in comparison with the main branch.

Andrea-Fan commented 8 months ago

refer :issue using check compare-with #543