Fix conflicting yq packages, add conflict check, rename workflow
Tests / tests (push) Successful in 2m22s
Tests / tests (push) Successful in 2m22s
- Remove yq from packages.x86_64 (conflicts with go-yq) - Add conflicting packages check step to tests workflow - Rename 'Scheduled ArchISO Build' to 'Automated Arch ISO Build' - Add --needed to all pacman install commands to suppress reinstalls
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
name: Scheduled ArchISO Build
|
name: Automated Arch ISO Build
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
@@ -23,7 +23,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Install archiso and dependencies
|
- name: Install archiso and dependencies
|
||||||
run: |
|
run: |
|
||||||
pacman -Syu --noconfirm archiso jq
|
pacman -Syu --noconfirm --needed archiso jq
|
||||||
|
|
||||||
- name: Build Arch ISO
|
- name: Build Arch ISO
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ jobs:
|
|||||||
printf '\n[cachyos]\nInclude = /etc/pacman.d/cachyos-mirrorlist\n' \
|
printf '\n[cachyos]\nInclude = /etc/pacman.d/cachyos-mirrorlist\n' \
|
||||||
>> /etc/pacman.conf
|
>> /etc/pacman.conf
|
||||||
|
|
||||||
pacman -Syu --noconfirm
|
pacman -Syu --noconfirm --needed
|
||||||
|
|
||||||
- name: Set up chaotic-aur repo
|
- name: Set up chaotic-aur repo
|
||||||
run: |
|
run: |
|
||||||
@@ -65,7 +65,7 @@ jobs:
|
|||||||
printf '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n' \
|
printf '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n' \
|
||||||
>> /etc/pacman.conf
|
>> /etc/pacman.conf
|
||||||
|
|
||||||
pacman -Syu --noconfirm
|
pacman -Syu --noconfirm --needed
|
||||||
|
|
||||||
- name: Lint shell scripts with ShellCheck
|
- name: Lint shell scripts with ShellCheck
|
||||||
run: |
|
run: |
|
||||||
@@ -260,3 +260,30 @@ jobs:
|
|||||||
echo ""
|
echo ""
|
||||||
echo "✅ All packages verified successfully!"
|
echo "✅ All packages verified successfully!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Check for conflicting packages
|
||||||
|
run: |
|
||||||
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
echo " Checking for conflicting packages in packages.x86_64"
|
||||||
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
|
||||||
|
# Collect all package names from the list
|
||||||
|
PKGS=()
|
||||||
|
while IFS= read -r pkg; do
|
||||||
|
[[ -z "$pkg" || "$pkg" =~ ^# ]] && continue
|
||||||
|
PKGS+=("$pkg")
|
||||||
|
done < packages.x86_64
|
||||||
|
|
||||||
|
# Use pacman -Sp --print to resolve the full install set and check for conflicts
|
||||||
|
# This catches "X and Y are in conflict" errors before the ISO build
|
||||||
|
PKG_LIST=$(printf '%s\n' "${PKGS[@]}")
|
||||||
|
if CONFLICTS=$(echo "$PKG_LIST" | pacman -Sp --needed - 2>&1); then
|
||||||
|
echo "✅ No package conflicts detected"
|
||||||
|
else
|
||||||
|
echo "$CONFLICTS" | grep -i "conflict" || true
|
||||||
|
echo ""
|
||||||
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
echo " ❌ Conflicting packages found — fix packages.x86_64"
|
||||||
|
echo "═══════════════════════════════════════════════════════════════"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|||||||
@@ -397,7 +397,6 @@ yay
|
|||||||
ydotool
|
ydotool
|
||||||
yt-dlp
|
yt-dlp
|
||||||
zen-browser-bin
|
zen-browser-bin
|
||||||
yq
|
|
||||||
zram-generator
|
zram-generator
|
||||||
zsh
|
zsh
|
||||||
zsh-completions
|
zsh-completions
|
||||||
|
|||||||
Reference in New Issue
Block a user