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

Jenkins pipeline for building RPi images #41

Closed
andrewlukoshko opened this issue Feb 29, 2024 · 6 comments
Closed

Jenkins pipeline for building RPi images #41

andrewlukoshko opened this issue Feb 29, 2024 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@andrewlukoshko
Copy link
Member

Currently we're building images manually.
But we need to implement Jenkins pipeline to do this automatically.

Requirements:

  • Correct file naming. Examples:
AlmaLinux-8-RaspberryPi-8.9-20231127.aarch64.raw.xz
AlmaLinux-8-RaspberryPi-GNOME-8.9-20231127.aarch64.raw.xz
AlmaLinux-9-RaspberryPi-9.3-20231127.aarch64.raw.xz
AlmaLinux-9-RaspberryPi-GNOME-9.3-20231127.aarch64.raw.xz
  • Upload images to Amazon S3
  • Announce in SIG/AltArch Mattermost channel just like we do for Live Media.
@andrewlukoshko andrewlukoshko added the enhancement New feature or request label Feb 29, 2024
@AlexBaranowski
Copy link
Contributor

@andrewlukoshko maybe instead of using Jenkins, github actions would be better. You could then create a release that will not be dependent on AWS S3 and won't generate costs. The build logs are also nice addition ;)

@AlexBaranowski
Copy link
Contributor

Edit: actions/runner-images#2536,

I do not mind build in container that would have appliance-builder hacked, but ATM the GH Actions do not have Linux aarch64/arm64 builder. So... NVM. Custom runner for just RPI when You have proper Jenkins with hosts that are able to build it natively is useless ATM.

@codyro
Copy link
Member

codyro commented Jun 11, 2024

Edit: actions/runner-images#2536,

I do not mind build in container that would have appliance-builder hacked, but ATM the GH Actions do not have Linux aarch64/arm64 builder. So... NVM. Custom runner for just RPI when You have proper Jenkins with hosts that are able to build it natively is useless ATM.

https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/ 😀

@AlexBaranowski
Copy link
Contributor

AlexBaranowski commented Jun 12, 2024

@codyro Yeah, but I'm not sure if it's suitable. I would like to do that, but this need organization billing enabled and paid plan.

From post that you linked:

"""
These runners are available to our customers on our GitHub Team and Enterprise Cloud plans. We expect to begin offering Arm runners for open source projects by the end of the year. Customers can begin using these runners today by creating an Arm runner in their organization/enterprise, and then updating the runs-on syntax in their GitHub Actions workflow file to call that runner name. Find out more information on how to set up Arm-hosted runners in this video or in our public documentation. To learn more about runner-per-minute pricing, check out the documentation.
"""

@andrewlukoshko
Copy link
Member Author

@AlexBaranowski yes we're considering switching to GitHub Actions for this using self-hosted runner in AWS.

@AlexBaranowski
Copy link
Contributor

AlexBaranowski commented Jun 14, 2024

@andrewlukoshko if you give me 2-3 days I could test it in my free time. I would use different host provider (hetzner -> dirty cheap). Then I could provide whole solution except host and out-of-scope for GH action configuration.

It would also test if applicance builder require virtualization cpu flags etc.

yuravk added a commit to yuravk/raspberry-pi that referenced this issue Jul 26, 2024
…unner, Vagrant VM with Fedora, and arpm64 docker image AlmaLinux#41
yuravk added a commit to yuravk/raspberry-pi that referenced this issue Jul 30, 2024
- build the image under arm64 Docker Container, which runs on Fedora Vagrant VM and on GitHub hosted runner
- use cross-platform emulator collection on the Vagrant VM
- publish to S3 Bucket and put object tagging with aws CLI
- store images and logs as workflow Artifact (by default)
- put S3 Bucket download URLs to workflow's Summary
- send notification to Mattermost: AWS S3 links, Artifacts URLs

Fixes: AlmaLinux#41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

4 participants