mirror of
https://github.com/arthur-pbty/arch-custom-iso.git
synced 2026-08-01 20:28:05 +02:00
teste deploy avec fix layout hyprland
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
name: Build and Test Custom Arch ISO
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
workflow_dispatch: # Permet de lancer le build manuellement depuis l'onglet Actions
|
||||
|
||||
jobs:
|
||||
build-iso:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux:latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
pacman -Syu --noconfirm
|
||||
pacman -S --noconfirm archiso git sudo
|
||||
|
||||
- name: Create builder user
|
||||
# makepkg refuse de s'exécuter en tant que root, on crée un utilisateur
|
||||
run: |
|
||||
useradd -m -G wheel -s /bin/bash builder
|
||||
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||
|
||||
- name: Run ISO build script
|
||||
run: |
|
||||
# On donne les droits à l'utilisateur builder pour qu'il puisse créer les dossiers
|
||||
chown -R builder:builder .
|
||||
# On lance ton script en tant qu'utilisateur builder
|
||||
sudo -u builder bash ./build.sh
|
||||
|
||||
- name: Verify ISO creation
|
||||
run: |
|
||||
if [ -f out/*.iso ]; then
|
||||
echo "ISO successfully built!"
|
||||
ls -lh out/*.iso
|
||||
else
|
||||
echo "ISO build failed: No ISO file found in out/ directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Upload ISO artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: arch-custom-iso
|
||||
path: out/*.iso
|
||||
retention-days: 7 # Garde l'ISO 7 jours sur GitHub pour pouvoir la télécharger
|
||||
@@ -493,10 +493,15 @@ EOF
|
||||
if [[ -d ".config" ]]; then
|
||||
cp -r .config "/mnt/home/$username/"
|
||||
|
||||
HYPRLAND_CONF="/mnt/home/$username/.config/hypr/init.lua"
|
||||
if [[ -f "$HYPRLAND_CONF" ]]; then
|
||||
sed -i "s/__KB_LAYOUT__/$keyboard/g" "$HYPRLAND_CONF"
|
||||
echo "Hyprland keyboard set to: $keyboard"
|
||||
# On cherche dynamiquement le fichier .lua contenant le marqueur dans tout le dossier hypr
|
||||
HYPRLAND_CONF=$(grep -rl "__KB_LAYOUT__" "/mnt/home/$username/.config/hypr/" 2>/dev/null | head -n 1)
|
||||
|
||||
if [[ -n "$HYPRLAND_CONF" ]]; then
|
||||
# Utilisation de | comme délimiteur pour sed pour éviter les erreurs de parsing
|
||||
sed -i "s|__KB_LAYOUT__|${keyboard}|g" "$HYPRLAND_CONF"
|
||||
echo "Hyprland keyboard set to: $keyboard in $HYPRLAND_CONF"
|
||||
else
|
||||
echo "ERREUR: Marqueur __KB_LAYOUT__ introuvable dans les configs Hyprland !"
|
||||
fi
|
||||
|
||||
chown -R 1000:1000 "/mnt/home/$username/.config"
|
||||
|
||||
Reference in New Issue
Block a user