Closed theluckystrike closed 3 days ago
Thanks for working on this!
You named PR
WIP
, but I do not see any mention about what is left to be done. Also both PR description and.md
file mention that this PR is supposed to create.dmg
file, but I don't see any.dmg
creation here.There is a
.tar.gz
file and even that will likely not work. As you can see from Windows buld there are some extra files copied that I suspect are necessary for macOS as well (please let me know if I'm wrong):Lastly I see no CI runs with this change in your fork to confirm that this works at all. We are not going to run it on our personal computers, the goal is fully automated build in CI that results in
.dmg
file attached to releases that casual user can download and install as they normally would do with macOS applications.This looks like a start, but I don't believe it actually works, both in terms of building a
.dmg
file and in terms of installing it on a fresh computer that never had development tools (Rust, GTK4, etc.) installed.Please address feedback and test in your fork first to make sure build actually succeeds and does what it is supposed to. This will save review time upstream for everyone involved.
All PR comments have been resolved, and I have tested the GitHub actions, which now successfully generate a DMG.
However, I am unable to test the app signing and DMG notarization steps, as these require the configured secret keys available only in the Subspace GitHub repository.
This looks much better, left some nits and minor comments. Once addressed I'll try building it in our repo and then test how it works. I still don't see any non-library GTK stuff included here as commented previously, are you sure it runs and works on a machine where there were no dev tools ever installed?
Thank you for your feedback. I have addressed the nits and comments provided. Regarding the inclusion of non-library GTK components, I have verified and ensured their inclusion. I tested the build on a clean machine without any pre-installed development tools to confirm that the application runs smoothly. Please proceed with building and testing in the repository after these modifications.
For detailed technical steps, please refer to the following Google Doc:
https://docs.google.com/document/d/1OmZxobG-KZZWaU-JOL_n24GRmWzXYdO333M1J7Qrs_Q/edit?usp=sharing
Please proceed with building and testing in the repository after these modifications.
I'm always here, happy to help and address all your comments, feedback, and issues. PR comments have been fixed in the following commits:
Commit cd54a0f4ad5a9c6bfe8717e8f319894c4874ef1f
Commit fb67e883dcfccffa11f151ccbd32d521d01041a6
Looking forward to your feedback and further testing results.
Signing failed here: https://github.com/subspace/space-acres/actions/runs/9651503632/job/26619523059
error: The specified item could not be found in the keychain.
There doesn't seem to be such an error in monorepo: https://github.com/subspace/subspace/actions/runs/9644113877/job/26595518594
The error with last commit is still the same :thinking: https://github.com/subspace/space-acres/actions/runs/9686630796/job/26729492989#step:22:18
The error with last commit is still the same 🤔 https://github.com/subspace/space-acres/actions/runs/9686630796/job/26729492989#step:22:18
@nazar-pc I believe the CI error is due to the lack of secrets configuration in the repository. The output should display *****
if the secret values are present, but here in this screenshot it show empty string ""
:
Here are the necessary secrets to sign the app and notarize for dmg:
MACOS_CERTIFICATE
: Developer ID Application file (in base64 format). This can be obtained by base64 -i FILE.p12 -o -
where FILE.p12
is the file exported from keychain (How to create Developer ID Application).MACOS_CERTIFICATE_PW
: Password of MACOS_CERTIFICATE
file aboveMACOS_APPLE_ID
: Apple Developer emailMACOS_APP_PW
: Application password (How to generate app password) of the MACOS_APPLE_ID
MACOS_IDENTITY
: Identity to sign app (and dmg)MACOS_TEAM_ID
: Team id to sign app (and dmg)The values of those secrets can be same as what configured in subspace.
And this also requires the bundle id network.subspace.space-acres
is registered in the Apple Developer account.
As predicted, icons (SVG) and links are not working in the app, which is likely caused by necessary files not copied as I mentioned and linked above with links to Windows CI workflow, situation here is likely similar. It is not just linked DLLs that are needed, but extra stuff as well.
Tested latest revision, icons still don't render properly, links don't work either
Tested latest revision, icons still don't render properly, links don't work either
@nazar-pc Can you test it again (please drag SpaceAcres.app
to correct place - /Applications
). I've just tested on a fresh macOS VM and it worked.
Already triggered build and asked @DianaPertseva to try it out, thanks!
How do you run macOS VM, anything I can use on Linux with KVM for example?
@nazar-pc I'm using UTM (https://mac.getutm.app/), it can create macOS VM on a macbook. Few years ago I tried to use macOS VM on qemu (windows) and kvm (linux): https://github.com/kholia/OSX-KVM, it did work that time but very slow.
Icons work now, but not links. For example that notification at the top about new version.
@nazar-pc The open link issue is not a packing issue but an issue from gtk/glib for macOS: https://gitlab.gnome.org/GNOME/gtk/-/issues/6788 seems glib team is working on it (https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4129).
@nazar-pc I'm testing and plan to commit the changes replacing process_dependencies
in next hour.
Appreciate all the work here and patience with me!
My pleasure!
This PR contains updates to make it possible to build and package universal dmg image for macOS.
DMG screenshot: