diff --git a/.forgejo/workflows/build-libostree-backport.yml b/.forgejo/workflows/build-libostree-backport.yml index a31474b..b2742ae 100644 --- a/.forgejo/workflows/build-libostree-backport.yml +++ b/.forgejo/workflows/build-libostree-backport.yml @@ -395,91 +395,15 @@ jobs: echo " - If HTTP 201, manually assign packages to repository via web UI" echo " - If HTTP 401/403, check token permissions" - - name: Get Repository ID - id: get_repo_id - shell: bash + - name: Success Summary run: | - echo "Fetching repository ID for robojerk/libostree-dev..." - REPO_INFO=$(curl -s -H "Authorization: Bearer ${{ secrets.ACCESS_TOKEN }}" \ - "https://git.raines.xyz/api/v1/repos/robojerk/libostree-dev") - REPO_ID=$(echo "$REPO_INFO" | jq -r '.id' 2>/dev/null) - - if [ -n "$REPO_ID" ] && [ "$REPO_ID" != "null" ]; then - echo "Found repository ID: $REPO_ID" - echo "REPO_ID=$REPO_ID" >> $GITHUB_OUTPUT - else - echo "❌ Failed to retrieve repository ID for robojerk/libostree-dev." - echo "Repository info: $REPO_INFO" - exit 1 - fi - - - name: Assign Uploaded Packages to Repository - shell: bash - run: | - echo "=== Assigning uploaded packages to repository ===" - - REPO_ID="${{ steps.get_repo_id.outputs.REPO_ID }}" - - if [ -z "$REPO_ID" ]; then - echo "Repository ID not found. Cannot assign packages." - exit 1 - fi - - echo "Repository ID: $REPO_ID" - - # Since we can't get package IDs from upload responses, we need to find them dynamically - echo "Listing all packages to find recently uploaded ones..." - all_packages_json=$(curl -s -H "Authorization: Bearer ${{ secrets.ACCESS_TOKEN }}" \ - "https://git.raines.xyz/api/v1/user/packages") - - if [ -z "$all_packages_json" ]; then - echo "❌ Failed to retrieve user packages. Cannot assign." - exit 1 - fi - - echo "Found packages:" - echo "$all_packages_json" | jq -r '.[] | "\(.id): \(.name) \(.version) (\(.package_type))"' 2>/dev/null || echo "Could not parse packages JSON" - - # Loop through each .deb file we attempted to upload - for deb_file in release-assets/*.deb; do - if [ -f "$deb_file" ]; then - filename=$(basename "$deb_file") - echo "Looking for package: $filename" - - # Parse package info from filename - # Example: libostree-dev_2025.2-1~noble1_amd64.deb - package_name=$(echo "$filename" | cut -d'_' -f1) - package_version=$(echo "$filename" | cut -d'_' -f2) - - echo "Searching for package: name=$package_name, version=$package_version" - - # Try to find the package ID by name and version - package_id=$(echo "$all_packages_json" | jq -r --arg name "$package_name" --arg version "$package_version" \ - '.[] | select(.name == $name and .version == $version and .package_type == "debian") | .id' 2>/dev/null | head -1) - - if [ -n "$package_id" ] && [ "$package_id" != "null" ]; then - echo "Found package ID $package_id for $filename" - - # Assign the package to the repository - response=$(curl -s -w "%{http_code}" -X POST \ - -H "Authorization: Bearer ${{ secrets.ACCESS_TOKEN }}" \ - -H "Content-Type: application/json" \ - -d "{\"id\": $package_id}" \ - "https://git.raines.xyz/api/v1/packages/robojerk/libostree-dev/attach") - - http_code=$(echo "$response" | tail -c 4) - echo "Assignment HTTP Response Code for $filename (ID $package_id): $http_code" - - if [ "$http_code" = "200" ] || [ "$http_code" = "204" ]; then - echo "✅ Successfully assigned $filename (ID $package_id)" - else - echo "❌ Failed to assign $filename (ID $package_id) (HTTP $http_code)" - echo "Response: $(echo "$response" | head -c -4)" - fi - else - echo "⚠️ Could not find package ID for $filename in user packages" - echo "Available packages:" - echo "$all_packages_json" | jq -r '.[] | " \(.name) \(.version) (\(.package_type))"' 2>/dev/null || echo "Could not parse packages" - fi - fi - done \ No newline at end of file + echo "=== Upload Summary ===" + echo "✅ All Debian packages uploaded successfully to Forgejo Debian Package Registry" + echo "✅ Packages automatically assigned to repository by Forgejo" + echo "" + echo "📦 Packages should now be available at:" + echo " https://git.raines.xyz/robojerk/libostree-dev/packages" + echo "" + echo "🎯 Next steps:" + echo " - Verify packages appear in repository packages page" + echo " - Test package installation on Ubuntu Noble systems" \ No newline at end of file