name: Build Canary COSMO amd64-v3 ISO

on:
  push:
    branches:
      - main
    paths:
      - '.github/build-canary-v3-cosmo-iso'

jobs:
  build:
    runs-on: ubuntu-latest
    container:
      image: ubuntu:latest
      volumes:
        - /proc:/proc
      options: --privileged -it --cap-add=sys_admin --cap-add mknod --device=/dev/fuse --security-opt seccomp=unconfined --security-opt label=disable

    steps:
    - name: Install Some essentials
      run: apt-get update -y && apt-get install -y wget npm rsync nodejs

    - uses: actions/checkout@v3

    - name: Install SSH key
      uses: shimataro/ssh-key-action@v2
      with:
        key: ${{ secrets.SSH_KEY }}
        name: id_rsa
        known_hosts: ${{ secrets.KNOWN_HOSTS }}
        if_key_exists: replace

    - name: Set ISO Info 
      run: sed "s/#DISTNAME#/PikaOS-Canary-COSMO/g" -i ./info.sh && sed "s/#ARCH#/amd64-v3/g" -i ./info.sh

    - name: Get ISO Build Dependencies 
      run: ./get_iso_build_dep.sh

    - name: Enable NVIDIA Enablement
      run: cp -rvf ./nvidia-enablement/* ./
      
    - name: Enable COSMO Enablement
      run: cp -rvf ./cosmo-enablement/* ./

    - name: Generate Image ROOTFS from PikaOS Docker image
      run: ./generate_roofs_from_canaryv3_docker.sh
      
    - name: Build ISO
      run: ./build.sh