Skip to content

Distribute binary packages when tagging new versions #1475

Open

Description

@oz123

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

Activity

  1. j-bennet commented on Aug 11, 2024

    @j-bennet
    Contributor

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

  2. oz123 commented on Aug 22, 2024

    @oz123
    Author

    @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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions