Jump to content

Armbian continuous integration


Igor

Recommended Posts

mainpipeline.png

 

In the past few weeks I have been working to improve processes of deploying our work. Scripts that runs in the background are combination of tools that are build into the main tool and additional scripts that run on the server. They are (will be) summed in a (private) scripts repository, but the functioning - which could be interested for any maintainer - are summed in this document:

https://docs.armbian.com/Process_CI/

 

Welcome to add your ideas, especially for the merge request part, which remain unchanged. Otherwise its planned to extend this automation to execute tests, similar or the one from @William Bonnet on virtual image (image already boots insite Github actions) and real hardware (need implementation).

 

Examples:
 

- updating images and kernel update for families that those boards belong to: rockpro64, station-p1, station-m1, odroidc2, odroidn2, odroidc4, odroidhc4, odroidxu4, nanopir4s, udoo, cubox-i, rockpi-s, rockpi-e, rockpi-n10. nanopct4, espressobin, tinkerboard

- building under Docker and booting qemu image inside Github action (WIP, not enabled yet)

- upstream kernel changes for a few families caused rebuild and updating of both repositories

 

Link to comment
Share on other sites

  • Igor pinned this topic

We also have our SBC test rigs which have GPIO power control.

 

I've proven out the general process of SSHing into a board,  doing `curl -s http://path/to/armbian.omg | dd of=/dev/blockdev bs=1M conv=fsync` and then immediately cutting power as a 90% reliable process for applying images.

I really want to tie this library. https://github.com/lanefu/sbc-gpio-pcf857x/blob/main/lib/gpio.sh

with ansible and our netbox inventory to find board and gpio on our pdu.

 

I have POC of ansible inventory

 

Spoiler

lane@blipsqueak:~/GIT/lanesible$ cat inventory/armbian-netbox.yml
---

plugin: netbox.netbox.nb_inventory
api_endpoint: https://stuff.armbian.com/netbox/
validate_certs: True
cache_plugin: jsonfile
cache: yes
token: <token>
group_by:
  - device_roles
  - sites
  - racks
  - tags
interfaces: yes



We also have an armbian ansible collection which currently has a facts module for identifying armbian specifics in /etc/armbian-release

 

https://github.com/armbian/ansible-collection-armbian

We have lots of great pieces now we need to glue them together!

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines