dbcli / dbcli/pgcli

Distribute binary packages when tagging new versions

Abierto
#1,475 2 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Python
Estrellas
13.4k
Forks
612
Merge medio
6 d 14 h
PR fusionados (30 d)
10

Descripción

## 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][1].

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

[1]: https://github.com/oz123/mh/blob/main/.github/workflows/release.yml

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con el archivo .github/workflows/release.yml enlazado y el comando de Nuitka proporcionado; inspecciona cómo las subidas de tags publican actualmente las releases de pgcli. Se considera terminado cuando los builds activados por tags produzcan binarios descargables para los destinos de Linux y macOS indicados, incluyendo Windows solo si es compatible.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github-actions, postgresql, python
Área
build-system, ci-cd, cli, release
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.