Added linting and package resolution Gitea Actions workflows.
Audit / Package Resolution (push) Successful in 1m6s
CI / Linting (push) Successful in 4s

This commit is contained in:
2026-04-29 16:03:33 -04:00
parent c868ec5107
commit 6441b0114d
14 changed files with 156 additions and 44 deletions
+62
View File
@@ -0,0 +1,62 @@
#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
source "${SCRIPT_DIR}/config/defaults.conf"
source "${SCRIPT_DIR}/config/luks.conf"
source "${SCRIPT_DIR}/config/drivers.conf"
source "${SCRIPT_DIR}/config/profiles.conf"
declare -A seen=()
unique_packages=()
package_array_count=0
add_packages() {
local package
package_array_count=$((package_array_count + 1))
for package in "$@"; do
if [[ -n "$package" && -z "${seen[$package]:-}" ]]; then
seen["$package"]=1
unique_packages+=("$package")
fi
done
}
add_packages "${BASE_PACKAGES[@]}"
add_packages "${INTEL_MICROCODE_PACKAGES[@]}"
add_packages "${AMD_MICROCODE_PACKAGES[@]}"
add_packages "${WIFI_PACKAGES[@]}"
add_packages "${INTEL_PACKAGES[@]}"
add_packages "${NVIDIA_PACKAGES[@]}"
add_packages "${KDE_PACKAGES[@]}"
for profile_key in "${PROFILES[@]}"; do
package_var="PROFILE_${profile_key}_PACKAGES[@]"
add_packages "${!package_var}"
done
if [[ "${#unique_packages[@]}" -eq 0 ]]; then
printf 'No package definitions were found in the sourced config files\n' >&2
exit 1
fi
missing_packages=()
for package in "${unique_packages[@]}"; do
if ! pacman -Si -- "$package" > /dev/null 2>&1; then
missing_packages+=("$package")
fi
done
if [[ "${#missing_packages[@]}" -gt 0 ]]; then
printf 'The following packages were not found by exact name:\n' >&2
printf ' %s\n' "${missing_packages[@]}" >&2
exit 1
fi
printf 'Checking dependency resolution for %d packages from %d package arrays\n' "${#unique_packages[@]}" "$package_array_count"
pacman -Sp --noconfirm -- "${unique_packages[@]}" > /dev/null