diff --git a/.forgejo/workflows/build-libostree-backport.yml b/.forgejo/workflows/build-libostree-backport.yml index 36be7a8..1ed614b 100644 --- a/.forgejo/workflows/build-libostree-backport.yml +++ b/.forgejo/workflows/build-libostree-backport.yml @@ -138,6 +138,19 @@ jobs: apt-get update -y apt-get install -y curl + - name: Debug - Check automatic token (safe) + run: | + echo "=== Debugging Automatic Token ===" + echo "Token exists: ${{ secrets.FORGEJO_TOKEN != '' }}" + echo "Token length: ${#FORGEJO_TOKEN}" + echo "Token first 4 chars: ${FORGEJO_TOKEN:0:4}..." + echo "Token last 4 chars: ...${FORGEJO_TOKEN: -4}" + echo "Environment variable name: FORGEJO_TOKEN" + echo "Available secrets:" + env | grep -i token || echo "No token env vars found" + env: + FORGEJO_TOKEN: ${{ secrets.FORGEJO_TOKEN }} + - name: Test API endpoints run: | echo "=== Testing Forgejo API endpoints with automatic token ===" @@ -177,11 +190,18 @@ jobs: # Upload to Forgejo's Debian Package Registry using automatic token # PUT https://forgejo.example.com/api/packages/{owner}/debian/pool/{distribution}/{component}/upload - curl -H "Authorization: Bearer ${{ secrets.FORGEJO_TOKEN }}" \ + response=$(curl -s -w "%{http_code}" -H "Authorization: Bearer ${{ secrets.FORGEJO_TOKEN }}" \ --upload-file "$deb_file" \ - "https://git.raines.xyz/api/packages/robojerk/debian/pool/noble/main/upload" + "https://git.raines.xyz/api/packages/robojerk/debian/pool/noble/main/upload") - echo "Debian Package Registry upload completed for $deb_file" + http_code="${response: -3}" + echo "HTTP Response Code: $http_code" + + if [ "$http_code" = "201" ]; then + echo "✅ Debian Package Registry upload SUCCESS for $deb_file" + else + echo "❌ Debian Package Registry upload FAILED for $deb_file (HTTP $http_code)" + fi fi done @@ -205,10 +225,46 @@ jobs: # Upload to Forgejo's Generic Package Registry using automatic token # PUT https://forgejo.example.com/api/packages/{owner}/generic/{package_name}/{package_version}/{file_name} - curl -H "Authorization: Bearer ${{ secrets.FORGEJO_TOKEN }}" \ + response=$(curl -s -w "%{http_code}" -H "Authorization: Bearer ${{ secrets.FORGEJO_TOKEN }}" \ --upload-file "$deb_file" \ - "https://git.raines.xyz/api/packages/robojerk/generic/$package_name/$version/$filename" + "https://git.raines.xyz/api/packages/robojerk/generic/$package_name/$version/$filename") - echo "Generic Package Registry upload completed for $deb_file" + http_code="${response: -3}" + echo "HTTP Response Code: $http_code" + + if [ "$http_code" = "201" ]; then + echo "✅ Generic Package Registry upload SUCCESS for $deb_file" + else + echo "❌ Generic Package Registry upload FAILED for $deb_file (HTTP $http_code)" + fi fi - done \ No newline at end of file + done + + - name: Check uploaded packages and provide assignment instructions + run: | + echo "=== Package Upload Summary ===" + echo "" + echo "📦 Check the HTTP response codes above to see if uploads succeeded" + echo "🔍 HTTP 201 = Success, HTTP 401 = Authentication failed, HTTP 403 = Permission denied" + echo "" + echo "📋 If uploads succeeded (HTTP 201), to make packages visible in your repository:" + echo "1. Go to: https://git.raines.xyz/robojerk/-/packages" + echo "2. Find the uploaded packages (they may be under 'debian' or 'generic')" + echo "3. Click on each package → Settings → Assign to repository" + echo "4. Select 'libostree-dev' repository" + echo "" + echo "🔗 After assignment, packages will appear at:" + echo " https://git.raines.xyz/robojerk/libostree-dev/packages" + echo "" + echo "📝 Packages that were attempted:" + for deb_file in release-assets/*.deb; do + if [ -f "$deb_file" ]; then + filename=$(basename "$deb_file") + echo " 📦 $filename" + fi + done + echo "" + echo "🎯 Next steps:" + echo " - Check HTTP response codes above" + echo " - If HTTP 201, manually assign packages to repository via web UI" + echo " - If HTTP 401/403, check token permissions" \ No newline at end of file