Skip to content
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

Automated build with github actions (Moved to PR #115) #112

Closed

Conversation

jimkring
Copy link
Contributor

@jimkring jimkring commented Oct 7, 2022

I'm working on an automated build of gpufit using GitHub actions. This is currently working well on Windows and I am also interested to get it working on Linux (but that's not my primary focus at the moment -- happy to have help from others here).

@jimkring jimkring marked this pull request as draft October 7, 2022 22:53
@superchromix
Copy link
Collaborator

Hi Jim. This is an interesting idea. I don't think it's possible to build the package on a Github-hosted runner, however? Are you using the Github actions app to run this workflow locally?

@jimkring
Copy link
Contributor Author

jimkring commented Oct 9, 2022

Hi Jim. This is an interesting idea. I don't think it's possible to build the package on a Github-hosted runner, however? Are you using the Github actions app to run this workflow locally?

Hi @superchromix. No, the build is running on github hosted windows and ubuntu runners. Merge the pull request and watch it run :)

@superchromix
Copy link
Collaborator

Great work all. One thing I would love to see is the integration of the functional tests (actual fit results) into the automated workflow, and not just testing whether the build completes. This would require a self hosted server with a GPU. Anyone care to give this a spin?

The big advantage of this would be functionally testing the code, in addition to testing the build.

@superchromix
Copy link
Collaborator

I will have time over the weekend to review this pull request more fully.

One thing I notice, however, is that this request is becoming multi-purpose. Jim’s original pull request had one new file. There are now 9 files changed including major changes to the Cmake files.

Bundling multiple updates into one request makes it more difficult to test and validate. I may break this up and change one part at a time.

@jimkring
Copy link
Contributor Author

Hi @superchromix. Thanks for your attention to this effort.

I agree with you about separating out the different PR's. In our case, we needed some changes (e.g. the CMake tweaks) to help validate the build automation and we needed build automation to validate the changes. That said, I wholeheartedly agree we should decouple these PRs (now that we're done chicken-and-egg'ing and everyone seems onboard with the build automation).

How about this for a plan?

1.) Let's get the build automation going so we're at least running the build process -- I can create a separate PR for this.
2.) I can set up a self-hosted GitHub runner with a low-end Nvidia GPU we can use for integration and functional testing (and hopefully, GitHub will get it's roadmapped gpu-enabled hosted runners going soon) -- I'll need you to either add me to the project as an admin and/or we'll need to walk through sending me the token to add the runner to the repository.
3) We can work to get the automated integration of the functional tests running on GPU -- this will be a separate PR
4) We can get the automated tests running on the various bugfix/feature pull requests of the project -- these can all be separate PRs.

I can start on item 1 (new build automation PR) and see about throwing a computer together for item 2 (self-hosted runner with GPU).

We might also consider some off-line coordination around the administrative aspects of setting up a runner, etc.

Cheers,

@superchromix
Copy link
Collaborator

Great. Let’s go with (1) in your list and I can get that merged and tested on my end. I think (2) would be great to see set up, and I’d be glad to work with you on that. I’ll coordinate with you on the other points.

best,
Mark

@jimkring jimkring changed the title Automated build test and release with github actions Automated build test and release with github actions (DRAFT FOR TESTING WITH MANY OTHER FIXES) Oct 12, 2022
@jimkring jimkring changed the title Automated build test and release with github actions (DRAFT FOR TESTING WITH MANY OTHER FIXES) Automated build with github actions (DRAFT FOR TESTING WITH MANY OTHER FIXES) Oct 12, 2022
@jimkring
Copy link
Contributor Author

jimkring commented Oct 12, 2022

@superchromix I've created a new PR for the build automation (1) here: #115

@jimkring jimkring changed the title Automated build with github actions (DRAFT FOR TESTING WITH MANY OTHER FIXES) Automated build with github actions (Moved to PR #115) Oct 12, 2022
@ironictoo
Copy link

If you get #115 integrated, I could work on consolidating all the CMake changes back into #94 (with the new edits so it actually works). Changing to the new CUDA integration in CMake is a big change, but I do think it is for the better (and will be forced eventually anyway when the old cuda function is removed).

@jimkring
Copy link
Contributor Author

I like that idea @ironictoo -- yes, once we get #115 integrated into Gpufit master, the build actions will automatically run on pull request #94 so we can see how the CMake changes are working.

@jimkring
Copy link
Contributor Author

I'm going to close this PR at this point since we now have CI #115 merged and the CMake PR is coming along #94.

@jimkring jimkring closed this Oct 20, 2022
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.

3 participants