fix(ci): resolve nix-update workflow issues
- Remove --use-update-script flag that breaks with flake-only repos (nix-update-script expects default.nix at repo root) - Fix GitHub API jq filter for detecting prereleases - Fix Summary step bash syntax for handling input variables - Format lib/ files that were failing formatting check
This commit is contained in:
@@ -82,13 +82,13 @@ jobs:
|
||||
echo "::group::Checking $INPUT_NAME ($OWNER/$REPO)"
|
||||
|
||||
# Get latest stable release (exclude prereleases)
|
||||
LATEST=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||||
"https://api.github.com/repos/$OWNER/$REPO/releases/latest" | \
|
||||
jq -r 'select(.prerelease == false) | .tag_name // empty')
|
||||
# The /releases/latest endpoint already returns the latest non-prerelease, non-draft release
|
||||
LATEST=$(curl -sf "https://api.github.com/repos/$OWNER/$REPO/releases/latest" | \
|
||||
jq -r 'if .prerelease == false then .tag_name else empty end')
|
||||
|
||||
if [ -z "$LATEST" ]; then
|
||||
echo "⚠️ No stable release found for $INPUT_NAME"
|
||||
FAILED_INPUTS="$FAILED_INPUTS $INPUT_NAME(no-release)"
|
||||
echo "⚠️ No stable release found for $INPUT_NAME (repo may only have prereleases)"
|
||||
FAILED_INPUTS="$FAILED_INPUTS $INPUT_NAME(no-stable-release)"
|
||||
echo "::endgroup::"
|
||||
continue
|
||||
fi
|
||||
@@ -175,13 +175,13 @@ jobs:
|
||||
nix eval .#${pkg}.passthru.updateScript --json >/dev/null 2>&1
|
||||
}
|
||||
|
||||
run_update() {
|
||||
local pkg=$1
|
||||
local before_hash=$(git rev-parse HEAD)
|
||||
run_update() {
|
||||
local pkg=$1
|
||||
local before_hash=$(git rev-parse HEAD)
|
||||
|
||||
echo "::group::Updating $pkg"
|
||||
echo "::group::Updating $pkg"
|
||||
|
||||
local args=("--flake" "--commit" "--use-github-releases" "--use-update-script")
|
||||
local args=("--flake" "--commit" "--use-github-releases")
|
||||
|
||||
args+=("$pkg")
|
||||
|
||||
@@ -395,15 +395,19 @@ jobs:
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "## Updated Flake Inputs" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
for input in ${{ steps.update-flake-inputs.outputs.updated_inputs }}; do
|
||||
echo "- **$input**" >> $GITHUB_STEP_SUMMARY
|
||||
done
|
||||
if [ -n "${{ steps.update-flake-inputs.outputs.failed_inputs }}" ]; then
|
||||
UPDATED_INPUTS="${{ steps.update-flake-inputs.outputs.updated_inputs }}"
|
||||
if [ -n "$UPDATED_INPUTS" ]; then
|
||||
echo "$UPDATED_INPUTS" | tr ' ' '\n' | while read -r input; do
|
||||
[ -n "$input" ] && echo "- **$input**" >> $GITHUB_STEP_SUMMARY
|
||||
done
|
||||
fi
|
||||
FAILED_INPUTS="${{ steps.update-flake-inputs.outputs.failed_inputs }}"
|
||||
if [ -n "$FAILED_INPUTS" ]; then
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### Failed Inputs" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
for input in ${{ steps.update-flake-inputs.outputs.failed_inputs }}; do
|
||||
echo "- $input" >> $GITHUB_STEP_SUMMARY
|
||||
echo "$FAILED_INPUTS" | tr ' ' '\n' | while read -r input; do
|
||||
[ -n "$input" ] && echo "- $input" >> $GITHUB_STEP_SUMMARY
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user