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
|
if [[ -d ".config" ]]; then
|
||||||
cp -r .config "/mnt/home/$username/"
|
cp -r .config "/mnt/home/$username/"
|
||||||
|
|
||||||
HYPRLAND_CONF="/mnt/home/$username/.config/hypr/init.lua"
|
# On cherche dynamiquement le fichier .lua contenant le marqueur dans tout le dossier hypr
|
||||||
if [[ -f "$HYPRLAND_CONF" ]]; then
|
HYPRLAND_CONF=$(grep -rl "__KB_LAYOUT__" "/mnt/home/$username/.config/hypr/" 2>/dev/null | head -n 1)
|
||||||
sed -i "s/__KB_LAYOUT__/$keyboard/g" "$HYPRLAND_CONF"
|
|
||||||
echo "Hyprland keyboard set to: $keyboard"
|
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
|
fi
|
||||||
|
|
||||||
chown -R 1000:1000 "/mnt/home/$username/.config"
|
chown -R 1000:1000 "/mnt/home/$username/.config"
|
||||||
|
|||||||
Reference in New Issue
Block a user