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
Deb generation and upload #1676
Conversation
Pull Request Test Coverage Report for Build 8226613785Details
💛 - Coveralls |
Downstream Build Status ReportBuild
|
b907fd0
to
127a21e
Compare
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.
A few little things
FROM scratch as deb-package | ||
COPY --from=deb-generation /cyclus/build/cyclus*.deb / |
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.
What does this target accomplish?
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.
Don't we want to save this as an artifact somewhere?
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.
This is how we can pass the .deb file back out to the GitHub runner. Otherwise it only exists within the docker image and we cannot access it on the runner. The code coverage workflow follows a similar pattern to pass coverage reports back out to the client. The files contained in this scratch
layer are outputted to a destination that we specify when we build the target - see line 76 of publish_release.yml
src/env.cc.in
Outdated
if (instdir.length() > 0) | ||
if (instdir.length() <= 0) |
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.
This seems like a big deal?!?!
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.
Right? The _
env var (and thus instdir
) should be the path to the executable. If that env var is nonexistent then we use the path passed in by CMake, otherwise we use the location of the running executable. This was causing cyclus to always look in /root/.local
for things even if it is installed elsewhere. Pretty sure the issue manifested itself when I installed the deb on a fresh machine it couldn't find the rng schema located in the share
directory
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.
This looks like it needs a rebase for CHANGELOG |
127a21e
to
bbf4701
Compare
This may need a rebase |
bbf4701
to
36a58b4
Compare
This PR fixes the CMake build to once again provide Debian package generation functionality. It also adds stages to the
Dockerfile
andpublish_release.yml
workflow to build the Debian package and upload it automatically as a release asset (see my release). Feel free to download that .deb and install it on a fresh ubuntu image. Also - confirmation that the images pushed to GHCR are tagged correctly by thepublish_release.yml
workflow.Another thing that is potentially relevant to this PR but I'm not sure about.... @gonuke we've spoken briefly before about the versioning scheme and how it is related to the datatypes used by cyclus. Does the versioning system need to be reworked at all? and/or do we just need to be careful about manually updating version numbers on each release?