Skip to content

build: add amd64 debian package#1230

Draft
jaredallard wants to merge 1 commit intovicinaehq:mainfrom
jaredallard:jaredallard/build/deb
Draft

build: add amd64 debian package#1230
jaredallard wants to merge 1 commit intovicinaehq:mainfrom
jaredallard:jaredallard/build/deb

Conversation

@jaredallard
Copy link
Copy Markdown

@jaredallard jaredallard commented Mar 18, 2026

Adds building, and uploading to GH releases, for amd64 debian packages.
I was unable to fully test this because:

  • I don't have access to the actions context of this repo
  • Self hosted runners are being used, which I cannot mimic
  • I built the binary for this package on Gentoo, which doesn't match the
    protobuf versions in Ubuntu, but I was able to get past a lot of
    shared link issues. I likely missed one or two dependencies.

I did not add arm64 support because the self-hosted runners appear to be
amd64 only.

Possible issue with this method: We will rely on the version of libs used in the
runner (e.g., protobuf)

Feel free to take this over the finish line.

Closes: #269

Adds building, and uploading to GH releases, for amd64 debian packages.
I was unable to fully test this because:

* I don't have access to the actions context of this repo
* Self hosted runners are being used, which I cannot mimic
* I built the binary for this package on Gentoo, which doesn't match the
  protobuf versions in Ubuntu, but I was able to get past a lot of
  shared link issues. I likely missed one or two dependencies.

Feel free to take this over the finish line.

Closes: vicinaehq#269
Comment on lines +166 to +170
- name: Install nfpm
run: |-
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list
sudo apt-get update -y
sudo apt-get install nfpm
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would probably go into scripts/runners long term


build-deb:
needs: build-binary
runs-on: [self-hosted, Linux, X64, appimage]
Copy link
Copy Markdown
Author

@jaredallard jaredallard Mar 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could opt to use ubuntu-<xyz> here 😄

@aurelleb
Copy link
Copy Markdown
Contributor

aurelleb commented Mar 18, 2026

Well, the main issue with this is not really the packaging aspect of things but rather the really out of date dependencies these systems ship with (debian in particular). We could probably have a working deb package for latest ubuntu but I'm pretty sure the QT version alone would block older systems. Some of the other dependencies are more manageable and can be linked statically like I do for protobuf and cmark-gfm already.

Given what I just said it's likely the appimage + script is the best solution to this issue for older systems, but maybe I'm missing something.

As for arm64, yes the self hosted runner is x86_64 and emulation is too slow to be viable. I could work on getting a github runner ready for that purpose, but they are much slower and require more setup for QT + latest gcc + node etc...

@jaredallard
Copy link
Copy Markdown
Author

Don't hate me immediately, but maybe in that case we could ship an app image inside? It's not the most orthodox but it would solve that problem

@aurelleb
Copy link
Copy Markdown
Contributor

aurelleb commented Mar 19, 2026

Don't hate me immediately, but maybe in that case we could ship an app image inside? It's not the most orthodox but it would solve that problem

I'm not sure whether it's really orthodox or not but if it works it works, I don't really care, and I don't see a better solution. What you could try to do, is look at what I do in the script install (which uses the appimage) and try to tweak it for deb packages. That's probably the best approach.

@jaredallard jaredallard marked this pull request as draft March 19, 2026 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use GitHub action to generate .deb package

2 participants