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 test and release with github actions #113

Open
jimkring opened this issue Oct 7, 2022 · 2 comments
Open

Automated build test and release with github actions #113

jimkring opened this issue Oct 7, 2022 · 2 comments
Assignees

Comments

@jimkring
Copy link
Contributor

jimkring commented Oct 7, 2022

Hi All,

I would like to see fully automated build, test, and release of gpufit with github actions. I think it could help make development easier and accelerate improvements to the project -- i.e. make the maintainers' lives easier :)

I've created a pull request >> #112 << for this addition to the project.

You can see an example build with windows binary artifacts here (on my fork's working branch).

I'm happy to help in any way I can, and am appreciative of all the great work the maintainers have put into this useful and powerful tool. This is the least I can do to say thanks to @superchromix, @adrianjp88, @jkfindeisen and others.

Kind Regards, Jim

@superchromix
Copy link
Collaborator

Hi Jim,

This is a good idea, and thanks for the initiative. I am not fully up to speed with Github actions, but I've done some reading and my current understanding is that automated builds can run on either Github-hosted servers or personal servers. I would guess that Github servers wouldn't have GPUs installed, so this would require one or two dedicated test machines with the necessary hardware? Can you outline your vision of how the automated build process would work for Gpufit in practice?

best,
Mark

@superchromix superchromix self-assigned this Oct 9, 2022
@jimkring
Copy link
Contributor Author

jimkring commented Oct 9, 2022

Hi Mark,

I think you’re right that github hosted runners do not have GPUs. Yet, the compilation and build process does not require GPUs — it just requires the cuda compiler.

Here is a possible vision — really, the sky is the limit, in terms of what can be automated.

Build on Push

The automated build process is run every time a push occurs. This gives immediate feedback to the person who pushed the code, as to whether the changes break the build or tests.

This also means that developers can work on the code (bugs can be fixed) without actually having to have the cooler compiler installed locally.

Build on Pull Request

The automated build process will also (optionally) run automatically for pull requests. This means that if a contributor works on the code, we will actually know immediately (before even merging the pull request) whether it breaks the build.

Build on Release Tag

We can use a tag format like “v2.0” to signal a release build. The action can detect this tag pattern and automatically create a new release and attach the artifacts.

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

No branches or pull requests

2 participants