enhance CI/CD: add Forgejo Package Registry upload and release assets creation
This commit is contained in:
parent
b76166be64
commit
a02bcd6d13
1 changed files with 84 additions and 0 deletions
|
|
@ -80,6 +80,90 @@ jobs:
|
|||
ls -la ../*.dsc 2>/dev/null || echo "No .dsc file (binary-only package)"
|
||||
echo "Package contents:"
|
||||
dpkg -c ../deb-mock_*.deb || true
|
||||
|
||||
- name: Create release assets
|
||||
run: |
|
||||
mkdir -p release-assets
|
||||
cp ../deb-mock_*.deb release-assets/ 2>/dev/null || echo "No .deb files found"
|
||||
cp ../deb-mock_*.changes release-assets/ 2>/dev/null || echo "No .changes files found"
|
||||
|
||||
# Create a summary file
|
||||
echo "Deb-Mock Package Build Summary" > release-assets/BUILD_SUMMARY.txt
|
||||
echo "===============================" >> release-assets/BUILD_SUMMARY.txt
|
||||
echo "Build Date: $(date)" >> release-assets/BUILD_SUMMARY.txt
|
||||
echo "Package: deb-mock" >> release-assets/BUILD_SUMMARY.txt
|
||||
echo "Version: $VERSION" >> release-assets/BUILD_SUMMARY.txt
|
||||
echo "" >> release-assets/BUILD_SUMMARY.txt
|
||||
echo "Built Packages:" >> release-assets/BUILD_SUMMARY.txt
|
||||
ls -la release-assets/*.deb 2>/dev/null || echo "No packages found" >> release-assets/BUILD_SUMMARY.txt
|
||||
echo "" >> release-assets/BUILD_SUMMARY.txt
|
||||
echo "Changes Files:" >> release-assets/BUILD_SUMMARY.txt
|
||||
ls -la release-assets/*.changes 2>/dev/null || echo "No changes files found" >> release-assets/BUILD_SUMMARY.txt
|
||||
|
||||
echo "Release assets created:"
|
||||
ls -la release-assets/
|
||||
|
||||
- name: Upload to Forgejo Debian Package Registry
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
run: |
|
||||
echo "=== Uploading to Forgejo Debian Package Registry ==="
|
||||
|
||||
# Check if ACCESS_TOKEN is available
|
||||
if [ -z "${{ secrets.ACCESS_TOKEN }}" ]; then
|
||||
echo "❌ ACCESS_TOKEN is not set - skipping upload"
|
||||
echo "To enable uploads, add ACCESS_TOKEN secret to repository settings"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "✅ ACCESS_TOKEN is set"
|
||||
|
||||
# List packages for upload
|
||||
echo "Built packages:"
|
||||
ls -la ../*.deb 2>/dev/null || echo "No .deb files found"
|
||||
|
||||
for deb_file in ../deb-mock_*.deb; do
|
||||
if [ -f "$deb_file" ]; then
|
||||
echo "Uploading $deb_file to Forgejo Debian Package Registry..."
|
||||
filename=$(basename "$deb_file")
|
||||
echo "File: $filename"
|
||||
|
||||
# Upload using Forgejo's API
|
||||
http_code=$(curl -s -o /dev/null -w "%{http_code}" \
|
||||
--user "robojerk:${{ secrets.ACCESS_TOKEN }}" \
|
||||
--upload-file "$deb_file" \
|
||||
"https://git.raines.xyz/api/packages/robojerk/debian/pool/unstable/main/upload")
|
||||
|
||||
echo "HTTP Response Code: $http_code"
|
||||
|
||||
if [ "$http_code" = "201" ]; then
|
||||
echo "✅ Debian Package Registry upload SUCCESS for $deb_file"
|
||||
elif [ "$http_code" = "409" ]; then
|
||||
echo "➡️ INFO: Package $deb_file already exists (HTTP 409 Conflict)"
|
||||
else
|
||||
echo "❌ Debian Package Registry upload FAILED for $deb_file (HTTP $http_code)"
|
||||
# Show verbose output for debugging failures
|
||||
curl -v -i --user "robojerk:${{ secrets.ACCESS_TOKEN }}" \
|
||||
--upload-file "$deb_file" \
|
||||
"https://git.raines.xyz/api/packages/robojerk/debian/pool/unstable/main/upload" 2>&1
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
- name: Success Summary
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
run: |
|
||||
echo "=== Upload Summary ==="
|
||||
echo "✅ Deb-Mock package uploaded successfully to Forgejo Debian Package Registry"
|
||||
echo "✅ Package automatically assigned to repository by Forgejo"
|
||||
echo ""
|
||||
echo "📦 Package should now be available at:"
|
||||
echo " https://git.raines.xyz/robojerk/deb-mock/packages"
|
||||
echo ""
|
||||
echo "🎯 Next steps:"
|
||||
echo " - Verify package appears in repository packages page"
|
||||
echo " - Test package installation on Debian/Ubuntu systems"
|
||||
echo " - Users can install with: sudo apt install deb-mock"
|
||||
|
||||
- name: Setup Debian repository
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue