The only thing I'm unsure about is that there are two separate build tasks for Windows and Linux, but one section to specify the files to attach to the release.
Daniel Maslowski
@orangecms
... of course there was an error. I am removing the snap thing, remember it had issues anyway. When deb works, I will see if we can have rpm as well.
travis-ci/travis-ci#9441 suggests that I need to create a new key. @mariobehling the GitHub access token should ideally be owned by the org, how are you handling then usually?
Daniel Maslowski
@orangecms
I cannot fix it because I don't have the access rights to the repository. It is also using the legacy Travis setup (travis-ci.org instead of .com). Can you help me out there, please? :)
Mario Behling
@mariobehling
@orangecms Yes, agree about the access token.
If you are available on Thursday eve we could have a Jitsi call to go through whatever is needed.
Daniel Maslowski
@orangecms
Yep, got the invite
Mario Behling
@mariobehling
:thumbsup:
Daniel Maslowski
@orangecms
https://docs.python.org/3/library/venv.html says that it's adding a Python binary as well. Then we can bundle the full thing for Windows, just need to do some plumbing to get the paths right. :-) The downside is that the app may grow to something around half a gigabyte installed or something like that. I will look into asar bundling to shrink it (archive format from Electron).
Alexander Bessman
@bessman
That's right, it does. Didn't think of that. I suppose bundling Python makes sense, then.
I don't think it bundles libpython-stdlib though. That might be a problem.
Yea it's only a hack for Windows anyway. We don't have the necessity on Linux Distros because we can just declare dependencies.
Alexander Bessman
@bessman
Right, but won't the user still need to have python installed for it to work? Otherwise it won't have the necessary libs, even if the python binary itself is bundled.
Daniel Maslowski
@orangecms
Hmm, we can find that out. Some folks here are on Windows :)
Ir Jelle van der Linde
@Jelle007
I am .. :))
Daniel Maslowski
@orangecms
I have managed to get the first draft releases on tags. More to come soon. It's looking good so far. :)
If anyone can figure out why the .exe cannot be found (that actually exists...?), please let me know.
Alexander Bessman
@bessman
Try file_glob: true.
Daniel Maslowski
@orangecms
Aaah... Yea, that could do the trick. :) I am just confused that the other files could be found and upload. Well well... But here is another thing: The Windows build is running in Docker. It might be that it is not mounted in a way such that the files are propagated to outside again. I think that is the actual issue. I'll try another few things.
_
Another issue: The current release doesn't work. It looks like the Node <-> Python linkage fails due to path lookup problems. It's a bit messy because electron-builder moves files to different places. I have a work in progress branch to get asar (Electron app compression) back in place and there I had to adjust paths as well.
Thank you also a lot for the feedback on my PR Alex, I will get back to it. Now I need some rest again. :)
Daniel Maslowski
@orangecms
I just deleted the release again due to the app not working anyway. Unfortunately I couldn't download the files beforehand to check whether it works.
Mario Behling
@mariobehling
@orangecms What release numbering should we follow? I see there are tags showing v.2.
I dont get the difference between tag and release in Github.
Daniel Maslowski
@orangecms
Tags are what Git defines. Releases are a general concept, meaning a specific snapshot. GitHub offers an API to define releases. They can be based on git tags, and they can be decoupled and arbitrary. The API allows for attaching files, which can, but do not have to be related to the repository. When creating a release based on a tag, they will display download options for both snapshots of the source files and the attachments.
In other words: tags are part of the repository, so they reappear wherever a repo is cloned, and releases are a platform feature.
With the setup I am working on, the releases are created through the CI build configuration. That's why Travis needs to have a token for write access to GitHub.
so, before we jump to v2 maybe have a smaller number increase. v2 sounds like a major stable release and we are far away from a stable app.
I am a bit worried about expectations of people when they see we are already at "v2".
Daniel Maslowski
@orangecms
It is a full rewrite, hence the reasoning. From my perspective, seeing that the app is quite mature, to keep moving forward, we need to reestablish a release process. Otherwise, people who do not want/like/manage to build from source won't receive it
Keep in mind that the old PyQt4 app will not even be able to run on a current platform. Qt6 has just been released as first candidates, and Qt4 is EOL since a few years ago.
I ported the app to Qt5 two years ago when we spoke at C3, but couldn't really manage to upstream it back then.
Regarding dependencies: I proposed to pin specific versions of the Python lib in the desktop app. Both are now under further development, but the desktop app is mainly behind in terms of features and the Python lib being stabilized.