stevleibelt / arch-linux-live-cd-iso-with-zfs

archiso with zfs embedded
GNU General Public License v3.0
57 stars 15 forks source link

Add a github action to auto build the iso? #5

Closed gardar closed 2 years ago

gardar commented 2 years ago

How about adding a github action for auto building the iso and pushing it to the package registry?

stevleibelt commented 2 years ago

Hey @gardar I like the idea.

But my knowledge is limited in this section. So all my mind is coming up are questions. Do you know how to do it and is it possible that you answer me my questions from below?

What I can offer as first step is a stable download link to my latest iso build. But this will only work until the iso is not downloaded that often. And idea would be to try out the usage of a caching provider like cloudflare to move the load to their server.

What do you think? Any willing to work on this ticket with me?

stevleibelt commented 2 years ago

to do

  1. Evaluate free build systems to build the iso (buildbot or something else). Maybe we can have a look on this repository too or even use it.
  2. Create a web page to download the iso :heavy_check_mark: - Solution: this basic webpage
  3. Read about github actions and create a simple action that is triggered if the archzfs repository gets a new pull request
  4. Create a simple bash script that uploads the created iso to the new webpage :heavy_check_mark: - done with 2.2.0
gardar commented 2 years ago

But my knowledge is limited in this section. So all my mind is coming up are questions. Do you know how to do it and is it possible that you answer me my questions from below?

Sorry about the late reply, I didn't see that you had replied. But yes sure, I can help, I have some experience with github actions and always willing to improve.

* The github actions should listen on a push to the [archzfs](https://github.com/archzfs/archzfs) repository right?

You can choose on what condition the action should fire, for example when a PR is merged, when a commit pushed, on schedule, etc. In this case I think it would be good to run the action both on schedule and also when a PR is merged into master. I don't think you need to trigger a build on each commit.

* The action should trigger a build call on which machine?

Github offers hosted runners that you should be able to use (for free), or you could host your own but I don't really see the need to do so since the github runners are free.

* If the build is successful, the iso should be pushed to which package registry?

You can push it to the package registry directly in the repo: https://github.com/users/stevleibelt/packages?repo_name=arch-linux-live-cd-iso-with-zfs (which is also free for public repos).

There are some archlinux actions available on the github actions marketplace, perhaps it's possible to use one of those or use them as a inspiration for building your own. https://github.com/marketplace?type=actions&query=archlinux+

stevleibelt commented 2 years ago

@gardar thank you very much, I will read your response in detail during the next week. It feels like you gave me the needed information plus the right direction.

stevleibelt commented 2 years ago

For my internal log, we can borrow code from holoiso :-) and see here.