fix: remove deprecated opencode update logic
This commit is contained in:
@@ -52,6 +52,74 @@ jobs:
|
|||||||
"https://m3tam3re@code.m3ta.dev/m3tam3re/nixpkgs.git" \
|
"https://m3tam3re@code.m3ta.dev/m3tam3re/nixpkgs.git" \
|
||||||
"$REPO_DIR"
|
"$REPO_DIR"
|
||||||
|
|
||||||
|
- name: Update opencode Flake Input
|
||||||
|
id: update-opencode
|
||||||
|
run: |
|
||||||
|
cd "$REPO_DIR"
|
||||||
|
|
||||||
|
echo "::group::Checking for opencode updates"
|
||||||
|
|
||||||
|
# Get latest release from GitHub API
|
||||||
|
LATEST_RELEASE=$(curl -s "https://api.github.com/repos/anomalyco/opencode/releases/latest" | jq -r '.tag_name')
|
||||||
|
|
||||||
|
# Extract current version from flake.nix
|
||||||
|
CURRENT_VERSION=$(grep -oP 'opencode\.url = "github:anomalyco/opencode/v\K[^"]+' flake.nix)
|
||||||
|
|
||||||
|
echo "Current opencode version: $CURRENT_VERSION"
|
||||||
|
echo "Latest opencode version: $LATEST_RELEASE"
|
||||||
|
|
||||||
|
# Check if update is needed
|
||||||
|
if [ "$LATEST_RELEASE" != "$CURRENT_VERSION" ]; then
|
||||||
|
echo "🔄 Updating opencode from $CURRENT_VERSION to $LATEST_RELEASE"
|
||||||
|
|
||||||
|
# Update flake.nix with new version
|
||||||
|
sed -i 's|opencode\.url = "github:anomalyco/opencode/v.*"|opencode.url = "github:anomalyco/opencode/'"$LATEST_VERSION"'"| flake.nix
|
||||||
|
|
||||||
|
# Update flake lock to fetch new revision
|
||||||
|
nix flake update opencode
|
||||||
|
|
||||||
|
# Format with alejandra
|
||||||
|
nix fmt
|
||||||
|
|
||||||
|
# Verify the update
|
||||||
|
echo "::endgroup::"
|
||||||
|
echo "::group::Verifying opencode update"
|
||||||
|
|
||||||
|
# Run flake check
|
||||||
|
if ! nix flake check; then
|
||||||
|
echo "❌ Flake check failed after opencode update"
|
||||||
|
git checkout flake.nix flake.lock
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build opencode package
|
||||||
|
if ! nix build .#opencode 2>&1 | tee /tmp/opencode-build.log; then
|
||||||
|
echo "❌ Build failed for opencode"
|
||||||
|
git checkout flake.nix flake.lock
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "✅ Flake check passed"
|
||||||
|
echo "✅ Build successful for opencode"
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
# Commit the change
|
||||||
|
echo "::group::Committing opencode update"
|
||||||
|
git add flake.nix flake.lock
|
||||||
|
git commit -m "chore: update opencode flake input to $LATEST_RELEASE"
|
||||||
|
|
||||||
|
echo "opencode_update=true" >> $GITHUB_OUTPUT
|
||||||
|
echo "opencode_version=${LATEST_RELEASE}" >> $GITHUB_OUTPUT
|
||||||
|
echo "::endgroup::"
|
||||||
|
|
||||||
|
echo "✅ Updated opencode to $LATEST_RELEASE"
|
||||||
|
else
|
||||||
|
echo "✓ opencode is already up to date"
|
||||||
|
echo "opencode_update=false" >> $GITHUB_OUTPUT
|
||||||
|
echo "opencode_version=${CURRENT_VERSION}" >> $GITHUB_OUTPUT
|
||||||
|
echo "::endgroup::"
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Check Prerequisites
|
- name: Check Prerequisites
|
||||||
id: check
|
id: check
|
||||||
run: |
|
run: |
|
||||||
@@ -96,11 +164,6 @@ jobs:
|
|||||||
|
|
||||||
local args=("--flake" "--commit" "--use-github-releases")
|
local args=("--flake" "--commit" "--use-github-releases")
|
||||||
|
|
||||||
# Handle subpackages (opencode has node_modules)
|
|
||||||
if [ "$pkg" = "opencode" ]; then
|
|
||||||
args+=("--subpackage" "node_modules")
|
|
||||||
fi
|
|
||||||
|
|
||||||
args+=("$pkg")
|
args+=("$pkg")
|
||||||
|
|
||||||
if nix-update "${args[@]}" 2>&1 | tee /tmp/update-${pkg}.log; then
|
if nix-update "${args[@]}" 2>&1 | tee /tmp/update-${pkg}.log; then
|
||||||
@@ -201,7 +264,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Verify Builds
|
- name: Verify Builds
|
||||||
if: steps.update.outputs.has_updates == 'true'
|
if: steps.update.outputs.has_updates == 'true' || steps.update-opencode.outputs.opencode_update == 'true'
|
||||||
run: |
|
run: |
|
||||||
cd "$REPO_DIR"
|
cd "$REPO_DIR"
|
||||||
|
|
||||||
@@ -253,11 +316,20 @@ jobs:
|
|||||||
echo "✅ All packages built successfully: ${SUCCESSFUL_PACKAGES[*]}"
|
echo "✅ All packages built successfully: ${SUCCESSFUL_PACKAGES[*]}"
|
||||||
|
|
||||||
- name: Push Changes
|
- name: Push Changes
|
||||||
if: steps.update.outputs.has_updates == 'true'
|
if: steps.update.outputs.has_updates == 'true' || steps.update-opencode.outputs.opencode_update == 'true'
|
||||||
run: |
|
run: |
|
||||||
cd "$REPO_DIR"
|
cd "$REPO_DIR"
|
||||||
PACKAGES="${{ steps.update.outputs.updated_packages }}"
|
PACKAGES="${{ steps.update.outputs.updated_packages }}"
|
||||||
|
|
||||||
|
# Add opencode to packages list if it was updated
|
||||||
|
if [ "${{ steps.update-opencode.outputs.opencode_update }}" = "true" ]; then
|
||||||
|
if [ -n "$PACKAGES" ]; then
|
||||||
|
PACKAGES="$PACKAGES, opencode"
|
||||||
|
else
|
||||||
|
PACKAGES="opencode"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo "::group::Git Operations"
|
echo "::group::Git Operations"
|
||||||
echo "Current commit: $(git rev-parse HEAD)"
|
echo "Current commit: $(git rev-parse HEAD)"
|
||||||
echo "Pending commits: $(git rev-list --count origin/master..HEAD)"
|
echo "Pending commits: $(git rev-list --count origin/master..HEAD)"
|
||||||
@@ -290,6 +362,7 @@ jobs:
|
|||||||
path: |
|
path: |
|
||||||
/tmp/update-*.log
|
/tmp/update-*.log
|
||||||
/tmp/build-*.log
|
/tmp/build-*.log
|
||||||
|
/tmp/opencode-build.log
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|
||||||
- name: Cleanup
|
- name: Cleanup
|
||||||
@@ -303,7 +376,7 @@ jobs:
|
|||||||
rm -rf "$REPO_DIR"
|
rm -rf "$REPO_DIR"
|
||||||
|
|
||||||
# Remove all log files
|
# Remove all log files
|
||||||
rm -f /tmp/update-*.log /tmp/build-*.log /tmp/update-log.txt /tmp/success-packages.txt
|
rm -f /tmp/update-*.log /tmp/build-*.log /tmp/opencode-build.log /tmp/update-log.txt /tmp/success-packages.txt
|
||||||
|
|
||||||
# Clear sensitive environment variables
|
# Clear sensitive environment variables
|
||||||
unset GIT_AUTHOR_EMAIL GIT_COMMITTER_EMAIL
|
unset GIT_AUTHOR_EMAIL GIT_COMMITTER_EMAIL
|
||||||
@@ -311,17 +384,31 @@ jobs:
|
|||||||
- name: Summary
|
- name: Summary
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
|
HAS_UPDATES="false"
|
||||||
|
|
||||||
if [ "${{ steps.update.outputs.has_updates }}" = "true" ]; then
|
if [ "${{ steps.update.outputs.has_updates }}" = "true" ]; then
|
||||||
|
HAS_UPDATES="true"
|
||||||
echo "# ✅ Update Summary" >> $GITHUB_STEP_SUMMARY
|
echo "# ✅ Update Summary" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "" >> $GITHUB_STEP_SUMMARY
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "## Updated Packages" >> $GITHUB_STEP_SUMMARY
|
echo "## Updated Packages" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "" >> $GITHUB_STEP_SUMMARY
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "\`${{ steps.update.outputs.updated_packages }}\`" >> $GITHUB_STEP_SUMMARY
|
echo "\`${{ steps.update.outputs.updated_packages }}\`" >> $GITHUB_STEP_SUMMARY
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${{ steps.update-opencode.outputs.opencode_update }}" = "true" ]; then
|
||||||
|
HAS_UPDATES="true"
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "## Updated Flake Input" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "- **opencode**: \`v${{ steps.update-opencode.outputs.opencode_version }}\`" >> $GITHUB_STEP_SUMMARY
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$HAS_UPDATES" = "true" ]; then
|
||||||
echo "" >> $GITHUB_STEP_SUMMARY
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "## Status" >> $GITHUB_STEP_SUMMARY
|
echo "## Status" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "" >> $GITHUB_STEP_SUMMARY
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "- ✅ All packages validated with \`nix flake check\`" >> $GITHUB_STEP_SUMMARY
|
echo "- ✅ All updates validated with \`nix flake check\`" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "- ✅ All packages built successfully" >> $GITHUB_STEP_SUMMARY
|
echo "- ✅ All builds successful" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "- ✅ Changes pushed to master" >> $GITHUB_STEP_SUMMARY
|
echo "- ✅ Changes pushed to master" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "" >> $GITHUB_STEP_SUMMARY
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "## Workflow Performance" >> $GITHUB_STEP_SUMMARY
|
echo "## Workflow Performance" >> $GITHUB_STEP_SUMMARY
|
||||||
@@ -332,5 +419,5 @@ jobs:
|
|||||||
else
|
else
|
||||||
echo "# ℹ️ No Updates Required" >> $GITHUB_STEP_SUMMARY
|
echo "# ℹ️ No Updates Required" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "" >> $GITHUB_STEP_SUMMARY
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "No package updates found this run. All packages are up to date." >> $GITHUB_STEP_SUMMARY
|
echo "No updates found this run. All packages and flake inputs are up to date." >> $GITHUB_STEP_SUMMARY
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user