tibirna / qgit

Official git repository for QGit.
Other
175 stars 68 forks source link

CI present but inactive? #88

Closed hartwork closed 2 years ago

hartwork commented 4 years ago

Hi!

I found a file .travis.yml in this repository but recent commits are missing checkmarks/crosses so it seems that Travis CI has been deactivated? What is the status and the story of CI with QGit — does it need help? Does it need a replacement using GitHub Actions? I might be able to help but I'd need to be sure what is needed. PS: I saw #65 but I'm not sure that's the right direction.

Best, Sebastian

tibirna commented 4 years ago

Hello

I very much apologize for this. I didn't take (yet) the time to become familiar with TravisCI or other such tools. I also feel embarrassed for having left the #65 slip through the craks.

Any help in this direction is welcome. Pointing to focused and explicit documentation on the integration tools and taking charge of handling the necessary process will be very much appreciated.

Thanks

hartwork commented 4 years ago

Okay cool!

What do you think about #90?

The GitHub Actions docs make it look more complex and scary than it can be. I think a simple example might work better... and I hope that #90 speaks for itself in that regard. What you see there #88 is very similar to what I built for libvisual and KDE's svn2git, previously.

PS: Are the QMake .pro files and Qt4 support still needed? Should I create a ticket and/or pull request to drop them?

# find -name \*.pro
./src/src.pro
./qgit.pro
tibirna commented 4 years ago

Am I mistaken thinking that #90 only covers build and doesn't check if target is actually produced and it actually executable?

QMake files are still needed.

hartwork commented 4 years ago

Hi!

Am I mistaken thinking that #90 only covers build and doesn't check if target is actually produced and it actually executable?

Is there a test suite hidden somewhere that I failed to find that we could execute in the CI?

Else, I would love to call qgit --help in the CI but I don't find a way to make it run without opening a window right away. We can do tricks with virtual X but it's only with the code and effort if we have a clear goal what to test for. Also, if we go big with this, I would ask to break it up into pieces to not spend weeks to merge the first byte. What do you think?

QMake files are still needed.

Please help me understand what for. What is QMake used for despite use of CMake?

hartwork commented 4 years ago

@tibirna do you have a minute?

tibirna commented 4 years ago

There is no test suite yet. This is a highly graphical app started before TDD and CI were at the buzzy level of today. I never got time to look into automated testing. Adding a test suite will be needed. I am not aware of free GUI Qt test frameworks.

Qgit is highly graphical and was initially written with no CLI interaction. I never had time to add any after I took over its maintenance. A brief CLI interface would need to be added. The current available help https://github.com/tibirna/qgit/blob/master/src/help.h describes the few CLI flags and functionalities.

hartwork commented 4 years ago

Hi Cristian,

There is no test suite yet. This is a highly graphical app started before TDD and CI were at the buzzy level of today. I never got time to look into automated testing. Adding a test suite will be needed. I am not aware of free GUI Qt test frameworks.

Qgit is highly graphical and was initially written with no CLI interaction. I never had time to add any after I took over its maintenance. A brief CLI interface would need to be added. The current available help https://github.com/tibirna/qgit/blob/master/src/help.h describes the few CLI flags and functionalities.

I did not intend to criticize — if there is no test suite yet then there is no test suite. For the moment, my main interest is to understand if pull request #90 (a) needs major changes, (b) minor changes, or (c) is good to be merged as a first start, already. I'm happy with any of these, but I'll need to know where we're at so that we can move forward. Please help me figure that out.

I would offer to provide a pull request adding --help to QGit once we have basic CI off the table, if you like.

QMake files are still needed.

Please help me understand what for. What is QMake used for despite use of CMake?

Any comments on this one? Same here, understanding the situation is my main interest.

Thank you!

hartwork commented 4 years ago

@tibirna ?

hartwork commented 2 years ago

@tibirna now that #90 is merged:

Best, Sebastian

tibirna commented 2 years ago

1) I don't remember all the details and I'm far from my coding machine right now, but I have vague reminiscences of special use of the command line (to pipe options to underlying git operations) that might make adding --help complicated. Of course, a tested and functioning PR is welcome. 2) I still compile w/ qmake. It's well supported e.g. in QtCreator. Why would we remove it (honest question)? 3) It is now closed.

hartwork commented 2 years ago
  1. I don't remember all the details and I'm far from my coding machine right now, but I have vague reminiscences of special use of the command line (to pipe options to underlying git operations) that might make adding --help complicated. Of course, a tested and functioning PR is welcome.

I have dived into that topic just now. I agree it can be tricky. I think I found a clean solution by now. I'll be glad about your review at pull request #112 :beers:

  1. I still compile w/ qmake. It's well supported e.g. in QtCreator. Why would we remove it (honest question)?

I maintain software with multiple build systems myself and whenever there is need for change, everything has to be adjusted multiple times, e.g. see https://github.com/libexpat/libexpat/pull/510 , which is a pain. So personally I would delete anything that doesn't add critical value, just because of the maintenance cost. If QtCreator supports CMake well, I'd likely switch to CMake with QtCreator and dump QMake in your situation, but I may miss something. Same for the Visual Studio .vcproj and .sln files, because CMake can generate some on the fly. If you like to keep QMake around though, I'd consider making the CI cover QMake as well, so that we notice when it breaks if ever. I could do a pull request for you, if you're sure you need QMake to stick around. What do you think?

Best, Sebastian :wave: