-
Notifications
You must be signed in to change notification settings - Fork 0
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
Static build #14
Static build #14
Conversation
f3818f0
to
e61be3d
Compare
This depends on cnpem/epics-in-docker#75 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing squash for temporary commit d5772f4.
d3478d2
to
f709574
Compare
da25fab
to
70716be
Compare
source: ./ | ||
target: /opt/rffe-epics-ioc | ||
working_dir: /opt/rffe-epics-ioc | ||
command: lnls-build-static-ioc rffe-epics-ioc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we don't change this lnls-build-static-ioc
arguments interface, this PR is good to be merge, IMO.
990dbe8
to
a4f477b
Compare
We are no longer going to use containers for this application, because we are interested in moving away from Docker, and launching Podman from udev rules, as our design requires, no longer works on modern distros [1]. Launching a service to monitor podman would work, but requires complicated integration (the native systemd-podman integration isn't available in Debian 12), so we decided to move to the same setup as afc-epics-ioc, with static binaries. The container creation scheme is also removed. [1] https://www.marcusfolkesson.se/blog/systemd-udev/
musl allows us to produce a fully static binary, which can be deployed on almost any machine. The intended deployment directory is /opt/rffe-epics-ioc, so that's where we build the IOC, to guarantee that envPaths has the correct definitions. Add the resulting tarball to .gitignore as well.
The CI workflow will test that building the IOC is always working. The resulting tarball for tags will also be published in the project's release page. We used the softprops/action-gh-release action because it was recommended by the now unmantained official action, actions/upload-release-asset [1]. [1] https://github.com/actions/upload-release-asset
This is in progress
Depends on a few changes which are going to be applied to epics-in-docker as well.