Skip to content

Conversation

@tzanko-matev
Copy link
Contributor

We've moved a lot of the logic of the old build_appimage.sh script to nix derivations. We've retained only the impure parts of fetching node modules and electron.

One can review this PR by going over the commits one-by-one. Each commit produces a valid AppImage by running ./appimage-scripts/build_appimage2.sh

.agents/codebase-insights.txt: 
appimage-scripts/build_appimage2.sh: 
nix/packages/default.nix: 

Signed-off-by: Tzanko Matev <[email protected]>
.agents/codebase-insights.txt: 
appimage-scripts/build_appimage2.sh: 
nix/packages/default.nix: 
node-packages/yarn-project.nix: 
result-bin: 
result-man: 

Signed-off-by: Tzanko Matev <[email protected]>
.agents/codebase-insights.txt: 
appimage-scripts/build_appimage2.sh: 
nix/packages/default.nix: 

Signed-off-by: Tzanko Matev <[email protected]>
.agents/codebase-insights.txt: 
appimage-scripts/build_appimage2.sh: 
nix/packages/default.nix: 

Signed-off-by: Tzanko Matev <[email protected]>
.agents/codebase-insights.txt: 
appimage-scripts/build_appimage2.sh: 
nix/packages/default.nix: 

Signed-off-by: Tzanko Matev <[email protected]>
.agents/codebase-insights.txt: 
appimage-scripts/build_appimage2.sh: 
appimage-scripts/build_with_nim2.sh: 
flake.lock: 
flake.nix: 
nix/packages/default.nix: 

Signed-off-by: Tzanko Matev <[email protected]>
appimage-scripts/build_appimage2.sh: 

appimage-scripts/build_with_nim2.sh: 
nix/packages/default.nix: 

Signed-off-by: Tzanko Matev <[email protected]>
.agents/codebase-insights.txt: 
appimage-scripts/build_appimage2.sh: 
appimage-scripts/install_electron.sh: 
nix/packages/default.nix: 

Signed-off-by: Tzanko Matev <[email protected]>
.agents/codebase-insights.txt: 
appimage-scripts/build_appimage2.sh: 
nix/packages/default.nix: 

Signed-off-by: Tzanko Matev <[email protected]>
@tzanko-matev tzanko-matev force-pushed the appimage-refactor branch 3 times, most recently from 0f3abed to a2d90b5 Compare October 21, 2025 13:43
appimage-scripts/build_appimage.sh: 
appimage-scripts/build_appimage2.sh: 
appimage-scripts/build_backend_manager.sh: 
appimage-scripts/build_css.sh: 
appimage-scripts/build_db_backend.sh: 
appimage-scripts/build_with_nim.sh: 
appimage-scripts/install_ruby.sh: 

Signed-off-by: Tzanko Matev <[email protected]>
@alehander92 alehander92 added refactor A system was refactored build Issues related to building CodeTracer nix Any issues regarding our nix builds appimage Issues regarding the appimage build labels Oct 21, 2025
@Madman10K Madman10K self-requested a review October 21, 2025 17:25
@Madman10K
Copy link
Member

Madman10K commented Oct 21, 2025

Requirements before merging:

  • Confirmed to work on Arch Linux
  • Confirmed to work on Gentoo Linux
  • Confirmed to work on Ubuntu 24.04
  • Confirmed to work on Fedora Rawhide

Since I don't really understand(and don't really want to understand 🤕) the nix changes I'll give an approving review once we know that the produced AppImages work on our current distribution targets

@tzanko-matev
Copy link
Contributor Author

@Madman10K how do we do those tests now?

@Madman10K
Copy link
Member

@tzanko-matev the best way to do it would be to test locally on these systems. You just need to download the AppImage on these platforms, make it runnable with chmod +x, run it and test it.

Link to the latest AppImage built by this PR: https://downloads.codetracer.com/CodeTracer-418/merge-amd64.AppImage

I'll probably do the testing myself later today though

Copy link
Member

@Madman10K Madman10K left a comment

Choose a reason for hiding this comment

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

Confirmed to work correctly on all target platforms.

else
"sha512-8spVLTYEciHn5q0N1R4fRB9EBM4gzZ1Zd4EeZdLwQM6ob+wvgP3oMH6JHQXUxKraP8TlpuVg7l2gNsTaAH5NoQ=="
);
outputHash = "sha512-8spVLTYEciHn5q0N1R4fRB9EBM4gzZ1Zd4EeZdLwQM6ob+wvgP3oMH6JHQXUxKraP8TlpuVg7l2gNsTaAH5NoQ==";
Copy link
Member

Choose a reason for hiding this comment

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

we need to do a dry build of the yarn cache for arm (it can be done on our architecture as well) and keep the if here with the new hash

Copy link
Member

Choose a reason for hiding this comment

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

Good luck with that 😂

I suggest we drop support for arm(this hash is for arm for Linux), since we don't test for it, nor do we have record of it building successfully there or of us having any users.

Computing the hash is a nightmare and we never found any instructions on how to actually get it. For the record, running a dry run does not compute the hash in any way.

I'm in support of merging as is due to us losing up to 12 days on this previously(2 times in february, 4 times during april, 3 times during may, 2 times in june)

Copy link
Member

@alehander92 alehander92 Oct 24, 2025

Choose a reason for hiding this comment

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

ask @SersemPeca if he is ok with that; my impression is @zah wants the arm build; but i also don't know if we test the nix-based builds on arm or if anyone has tried them on arm(osx build doesn't use nix for now); i also agree that we can re-add the hash when we actually start to build/test there, but not sure

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

Labels

appimage Issues regarding the appimage build build Issues related to building CodeTracer nix Any issues regarding our nix builds refactor A system was refactored

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants