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

Provide releases #499

Open
7 tasks
kpet opened this issue Mar 1, 2023 · 6 comments
Open
7 tasks

Provide releases #499

kpet opened this issue Mar 1, 2023 · 6 comments

Comments

@kpet
Copy link
Owner

kpet commented Mar 1, 2023

We need to:

  • Define a versioning scheme. I'm thinking of something date-based to avoid any possible confusion with OpenCL or Vulkan versions. vYYYY-MM-DD-NN with YYYY being the year, MM month, DD day and NN number of the release?
  • Define passing criteria for a released version, i.e. a list of tests and configs that need to pass
  • Automate as much of the testing as possible, ideally all of it
  • Create scripting for releases so they are made in a consistent way
  • What else?
@stolk
Copy link
Contributor

stolk commented May 31, 2023

Any idea if at some point, this will land in Raspbian or Debian?

@kpet
Copy link
Owner Author

kpet commented May 31, 2023

Landing clvk in Debian is definitely something that's been at the back of my mind but Debian moves slowly and whatever version we land there first will be very the only thing folks see via Debian for a long while (until the next Debian version I guess). I'm a bit wary of folks installing clvk, testing it and uninstalling it 5 mins later because they're facing issues that have been fixed upstream 2 years ago :). We're getting very close to making clvk pass the OpenCL CTS tests so maybe that's a good first target before we work on inclusion in Debian? Or maybe getting something out quickly is better? Input/feedback is very welcome here (and as are volunteers to package clvk for distributions :)).

@stolk
Copy link
Contributor

stolk commented May 31, 2023

Thanks. You are right. I think a more streamlined version would be to have github actions build the deb package. I see you are already using github actions? Do the resulting binaries get stored somewhere for retrieval?

This way, users can grab the binaries, because building it from source is not trivial. Especially if you build it natively on a rPi4: it takes a long time.

EDIT: Note that the build process could be faster if the build was able to use pre-installed dependencies, instead of building those too. I tried, but the submodule fetches are necessary.

@rjodinchr
Copy link
Contributor

rjodinchr commented Jun 2, 2023

As discussed here, a release workflow could contained tests that are not run on a per commit basis.
Here is a list of things that could fall into that category:

@kpet
Copy link
Owner Author

kpet commented Jun 4, 2023

I agree automating the build of distro packages would be useful, I've created #546.

I see you are already using github actions? Do the resulting binaries get stored somewhere for retrieval?

Yes, they do but there does not seem to be an easy way to provide a direct link to the latest. You can click on the "Presumit passing" link at the top of the README file to navigate to the list of runs and then pick the latest build on the main branch (see https://github.com/kpet/clvk/actions/runs/5153290975 for an example). The artifacts can be downloaded from there. Having said that we don't have an ARM64 / Linux build that you could use directly on the rPi.

EDIT: Note that the build process could be faster if the build was able to use pre-installed dependencies, instead of building those too. I tried, but the submodule fetches are necessary.

This is not easy to do without having releases of clspv that align to specific LLVM releases. Maybe we could start thinking about this. It could drastically reduce the build time of clvk/clspv.

@truboxl
Copy link
Contributor

truboxl commented Jun 9, 2023

Cross compiling should be easy. I have done this for Android with 4 architectures and clvk seems to be working. And this repo has done android-aarch64 too.

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

4 participants