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:
|
||||
schedule:
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
|
||||
- name: Install archiso and dependencies
|
||||
run: |
|
||||
pacman -Syu --noconfirm archiso jq
|
||||
pacman -Syu --noconfirm --needed archiso jq
|
||||
|
||||
- name: Build Arch ISO
|
||||
run: |
|
||||
|
||||
@@ -54,7 +54,7 @@ jobs:
|
||||
printf '\n[cachyos]\nInclude = /etc/pacman.d/cachyos-mirrorlist\n' \
|
||||
>> /etc/pacman.conf
|
||||
|
||||
pacman -Syu --noconfirm
|
||||
pacman -Syu --noconfirm --needed
|
||||
|
||||
- name: Set up chaotic-aur repo
|
||||
run: |
|
||||
@@ -65,7 +65,7 @@ jobs:
|
||||
printf '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n' \
|
||||
>> /etc/pacman.conf
|
||||
|
||||
pacman -Syu --noconfirm
|
||||
pacman -Syu --noconfirm --needed
|
||||
|
||||
- name: Lint shell scripts with ShellCheck
|
||||
run: |
|
||||
@@ -260,3 +260,30 @@ jobs:
|
||||
echo ""
|
||||
echo "✅ All packages verified successfully!"
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user