Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jan 27 21:57

    amolenaar on 2.0.1

    Update dependencies Update news, bump version (compare)

  • Jan 27 21:49

    amolenaar on master

    Fix undo for handle moves Let … (compare)

  • Jan 12 03:04

    danyeaw on 2.0.0

    (compare)

  • Jan 12 03:03

    danyeaw on master

    Upload assets on release created (compare)

  • Jan 12 03:02

    danyeaw on 2.0.0

    (compare)

  • Jan 12 02:54

    danyeaw on 2.0.0

    (compare)

  • Jan 12 02:54

    danyeaw on master

    Fix GitHub ref isn't the tag na… (compare)

  • Jan 12 02:53

    danyeaw on 2.0.0

    (compare)

  • Jan 12 02:43

    danyeaw on 2.0.0

    (compare)

  • Jan 12 02:43

    danyeaw on master

    Add release tag to upload asset… (compare)

  • Jan 12 02:43

    danyeaw on 2.0.0

    (compare)

  • Jan 12 02:29

    danyeaw on master

    Add release creator to release … (compare)

  • Jan 12 02:29

    danyeaw on 2.0.0

    (compare)

  • Jan 12 02:29

    danyeaw on 2.0.0

    (compare)

  • Jan 12 02:20

    danyeaw on master

    Update release workflow to use … (compare)

  • Jan 12 02:20

    danyeaw on 2.0.0

    (compare)

  • Jan 12 02:16

    danyeaw on 2.0.0

    (compare)

  • Jan 12 02:12

    danyeaw on 2.0.0

    (compare)

  • Jan 12 02:11

    danyeaw on master

    Draft release for any tag (compare)

  • Jan 12 02:10

    danyeaw on 2.0.0

    (compare)

Dan Yeaw
@danyeaw
I didn't try building a full windows installer
Arjan Molenaar
@amolenaar
I think just running from the dist folder is good enough for testing.
I looked at some alternatives. QuodLibet is using a shell script to achieve the same, without pyinstaller. https://github.com/quodlibet/quodlibet/tree/master/win_installer
The naming is surprisingly similar, so Maybe you checked out this one already?
Dan Yeaw
@danyeaw
Quod Libet's approach is what we started with. But then you have to install all the pacman dependencies to a separate isolated folder,
and builds take 45 min
I'm sure we can resolve the issue with PyInstaller, I'm sure it is just something minor
Dan Yeaw
@danyeaw
@amolenaar I added a hook for gaphas and pushed it to the win-installer branch. The PyInstaller builds are now working good for me
Arjan Molenaar
@amolenaar
Sweet! I’ll see if I can build it myself, and install with the installer created in CI
Arjan Molenaar
@amolenaar
Looks like Gaphas is still not included :/
Dan Yeaw
@danyeaw
Booo, are the built windows installers posted somewhere?
Arjan Molenaar
@amolenaar
Yes, on the Actions tab in GitHub. check the "Build" builds, you'll find the artifacts there.
I think I solved it, though.
Added a bunch of modules as "hiddenimports".
Stupid Pyinstaller ...
Arjan Molenaar
@amolenaar
Argh! The link is referring to launch-gaphor.exe, instead of gaphor.exe and the executable is complaining it can not find "gaphor-script.py".
Arjan Molenaar
@amolenaar
I managed to get a working Gaphor installation on Windows, by using Msys only. The build is not down to 18 minutes (was 11 with PyInstaller), but at least it's working.
Dan Yeaw
@danyeaw
k, I can try to spend more time troubleshooting PyInstaller tonight.
Arjan Molenaar
@amolenaar
It's just not traversing the required python packages properly. Gaphas is not included, even when it's added as "hiddenimport".
I also noticed I miss a bunch of gaphor submodules.
It's unclear to me what PyInstaller is doing.
Dan Yeaw
@danyeaw
Ya, I've spent a lot of time with PyInstaller. It is very powerful, but can be hard to understand I agree unless you dig in to the code
It is working fine to me to both launch gaphor from the command line and by double clicking on the app from the PyInstaller dist folder
Arjan Molenaar
@amolenaar
Odd that I can not build that.
One advantage of the msys build: we can just use entrypoints. No extra administration on that part.
Dan Yeaw
@danyeaw
I agree that is a PyInstaller weakness, it almost needs a library on top of PyInstaller since I find it to be too low level
I found the Msys2 building of the app to be very very brittle when it was like that before, and then the feedback loop took forever, it was like working on a CI but locally
Arjan Molenaar
@amolenaar
For me msys was not that much slower than PyInstaller. It's easier to build incrementally, using functions in the package script.
Dan Yeaw
@danyeaw
There are definitely tradeoffs of both approaches for sure. How do the installer sizes compare?
Arjan Molenaar
@amolenaar
The PyInstaller installer is 28M, the msys one is currently 38M. No tthat bad, considering the macOS DMG is 139M ;)
Dan Yeaw
@danyeaw
haha :smile:
danyeaw @danyeaw rebuilds the installer again
Dan Yeaw
@danyeaw
It doesn't make sense that the dist version launches, but the one from the installer doesn't, unless it's not an issue with PyInstaller at all
Arjan Molenaar
@amolenaar
I have no clue.
BTW. we can speed up the build by avoiding to have to install the packages in the base system and them in the install folder. That'll almost cut the build time in half.
Dan Yeaw
@danyeaw
Ok, everything is working locally for me
I wonder why the CI build is giving these weird filenames, mine is just called gaphor-1.2.0rc2-installer.exe
Dan Yeaw
@danyeaw
Same thing with the overall version info
Dan Yeaw
@danyeaw
I think the VERSION="$(poetry version --no-ansi | cut -d' ' -f2)" command isn't working right on CI
Arjan Molenaar
@amolenaar
Why? It's been used all over the place.
Dan Yeaw
@danyeaw
Shouldn't that command return 1.2.0rc2?
Arjan Molenaar
@amolenaar
I changed the pipeline to use unique versions for non-release builds.
So a branch build will be something like 1.2.0rc2.dev0+1234abcd. That should make it's pretty clear it's a dev build
See .github/scripts/metadata.sh
I thought that would be a useful addition, since all build artifacts are saved now.
Dan Yeaw
@danyeaw
Ok, I see. That was the part I couldn't reproduce locally
Arjan Molenaar
@amolenaar
Oddly enough, Poetry let's you set a version (via poetry version) and only starts complaining when you do a poetry install.
So it took me a while to find a version pattern that satisfied Poetry
danyeaw @danyeaw is updating my local msys2 environment