Skip to content

Refactor and Continious Deployment via GitHub Actions #18

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

JanisErdmanis
Copy link
Member

@JanisErdmanis JanisErdmanis commented Jun 9, 2025

This pull request focuses on smoothing the experience of continuous deployment and uses GitHub Actions to demonstrate that. This involves resolving potential bugs, refactoring, and improving the API for a seamless setup.

I managed to create a continuous deployment script that publishes releases for all platforms. I already resolved an issue with setting JULIA_CPU_TARGET, which was necessary to make the precompilation cache portable. There is also a weird permission issue for Project.toml that is yet to be investigated.

There is a weird issue with InteractiveUtils, StyledStrings, and REPL being precompiled on Windows. This needs to be investigated and checked to see whether this issue is reproducible locally. Another issue is finding out why Pkg is precompiled, which is a substantial dependency and could allow the installer size to be slashed even more.

The current set of tasks that need to be done for this PR:

  • Refactor Snap building and its API for CI integrations;
  • Investigate permission issues for Project.toml
  • Investigate InteractiveUtils, StyledStrings, and REPL precompilation for Windows
  • Investigate whether Pkg and REPL could be excluded from precompilation.
  • Make a template for GitHub action script and API for installing it to a repo
  • Test GitHub action script on a concrete example repository
  • Remove the large Images dependency from AppBundler by selecting a more concrete one
  • Read julia_version from Manifest.toml when unspecified
  • Write test sets (partially done in previous releases); check whether I could make some parts of them reproducible
  • Update documentation and make a draft of the new capabilities

@JanisErdmanis
Copy link
Member Author

I can no longer reproduce InteractiveUtils, StyledStrings, and REPL precompilation cache. It seems the issue was raised from some leftover cache from previous attempts.

@JanisErdmanis
Copy link
Member Author

JanisErdmanis commented Jun 9, 2025

The dependence on Pkg is raised due to implicit dependence on QML and Gtk for the binary JLL packages it uses. Those binary packages no longer need to depend on JLLs but must be rebuilt for each of them individually with a new version bump.

The output with ] why Pkg looks bad in QML and Gtk4. The JLL dependencies that need to be bumped with new versions are:

Gettext_jll
Wayland_protocols_jll
Xorg_xcb_util_image_jll
Xorg_xcb_util_jll
Xorg_xcb_util_keysyms_jll
Xorg_xcb_util_renderutil_jll
Xorg_xcb_util_wm_jll
eudev_jll
libevdev_jll
libinput_jll
mtdev_jll

and for Gtk:

Gettext_jll 
Libepoxy_jll 
Librsvg_jll 
Wayland_protocols_jll
hicolor_icon_theme_jll

Pull requests to the relevant libraries that update the version:

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.

1 participant