Skip to content

🎼 CI scripts and pipelines to release MocaccinoOS variants (ISO, images, etc.)

Notifications You must be signed in to change notification settings

arm64-gentoo-images/ci

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mocaccino-ci

MocaccinoOS Micro MocaccinoOS GNOME MocaccinoOS MinimalX MocaccinoOS LXQT MocaccinoOS MATE MocaccinoOS KDE

This repository contains GitHub Actions to build MocaccinoOS ISOs.

The CI will deploy from master the iso built in the mocaccino minio instance.

Flavors

Each flavor is composed by packages coming from multiple repositories, here is a short summary.

Flavor Mocaccino Micro Repository Mocaccino Extra Repository Mocaccino Desktop Repository LiveCD Repository Luet Official Repository Mocaccino Kernel repository
Micro (conf) ✔️ ✔️ ✔️ ✔️ ✔️
GNOME (conf) ✔️ ✔️ ✔️ ✔️
MATE (conf) ✔️ ✔️ ✔️ ✔️
KDE (conf) ✔️ ✔️ ✔️ ✔️
LXQT (conf) ✔️ ✔️ ✔️ ✔️

ISO specs

Each ISO has a corresponding spec that defines which packages and luet repositories are required to build the ISO.

The specs are under the spec/ folder. Here is an example:

packages:
  # Packages to be installed in the rootfs
  rootfs:
  - utils/busybox 
  # Packages to be installed in the uefi image
  uefi:
  - live/systemd-boot
  - system/mocaccino-live-boot
  # Packages to be installed in the isoimage
  isoimage:
  - live/syslinux
  - system/mocaccino-live-boot
  # Packages to be installed in the initramfs
  initramfs:
  - distro/mocaccino-initramfs

# Use overlayfs to mount the rootfs. If disabled, only the initramfs will be booted.
overlay: "true"

# Image prefix. If Image date is disabled is used as the full title.
image_prefix: "MocaccinoOS-Micro-0."
image_date: "true"

# Luet config to use.
# It has to contain the repositories required to install the packages defined above.
luet:
  config: conf/luet-micro.yaml

Each spec defines which packages to be installed from luet repositories. A config file for each spec has to be provided and placed in conf/.

To build the iso, you need to run the isospec script inside scripts/, for e.g.

$> git clone https://github.com/mocaccinoOS/ci.git mocaccino-ci
$> cd mocaccino-ci
$> ./scripts/isospec specs/micro.yaml

Local Requirements

When running it locally, you need these tools installed:

  • luet
  • luet-extensions (can be installed with luet install luet-extensions from the Luet official repository)
  • xorriso
  • squashfs-tools
  • dosfstools
  • jq
  • yq

e.g. the CI installs them as the following:

$> sudo apt-get install -y xorriso squashfs-tools dosfstools
$> curl https://gist.githubusercontent.com/mudler/8b8d6c53c4669f4b9f9a72d1a2b92172/raw/e9d38b8e0702e7f1ef9a5db1bfa428add12a2d24/get_luet_root.sh | sudo sh
$> sudo luet install repository/mocaccino-extra
$> sudo luet install utils/jq utils/yq

About

🎼 CI scripts and pipelines to release MocaccinoOS variants (ISO, images, etc.)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 83.0%
  • Makefile 17.0%