pgcli icon indicating copy to clipboard operation
pgcli copied to clipboard

Distribute binary packages when tagging new versions

Open oz123 opened this issue 1 year ago • 2 comments

Description

It's not a "problem", rather a suggestion (with plan to act uppon).

When releasing new versions, it would be nice if one could download the package from the release pages. Some Linux distro are no always the most up to date and installing with pip in quite a hassle with psycopg requiring to install different packages and compilers.

As I work in some environments which don't always allow installation of packages, or that compile times are awful (and I can't even do SSH tunneling), I have created a static binary of pgcli using nutika.

If interested, I can make a PR which builds the binary using nuitka when pushing tags. The build can be done for MacOSX, debian and static binary for Linux. I can also extend this to Windows. You can see a similar release actions pipline in my project.

The pipeline linked is for a C program, but github actions has a nuitka action which works for compile to all major OS. I have already figured out all the command line parameters for building the executable:

nuitka3 --onefile -o pgcli_executable pgcli --python-flag=-m --follow-imports --include-module=pgspecial --include-module=psycopg2 --include-data-files=./pgcli/packages/pgliterals/pgliterals.json=pgcli/packages/pgliterals/pgliterals.json --include-data-files=./pgcli/pgclirc=pgcli/pgclirc

The idea is to use this in the release pipline.

Will you be interesed in such a PR?

Your environment

  • [ ] Please provide your OS and version information. I use RHEL and Debian stable.
  • [ ] Please provide your CLI version. 4.1.0

oz123 avatar Aug 09 '24 13:08 oz123

Thank you @oz123 , we'll be happy to accept your contribution.

j-bennet avatar Aug 11 '24 21:08 j-bennet

@j-bennet please take a look here: https://github.com/oz123/pgcli/releases/tag/v9.9.24 (The version number is arbitrary).

These binaries should work on alpine and glibc based Linux distros. Before opening a PR, I would like to verify that the binaries work for some other people except myself, since my use case may be limited.

oz123 avatar Aug 22 '24 19:08 oz123