|
31 | 31 | outputs: |
32 | 32 | VERSION: ${{ steps.set-version.outputs.VERSION }} |
33 | 33 | steps: |
34 | | - - uses: actions/checkout@v5 |
| 34 | + - uses: actions/checkout@v6 |
35 | 35 | with: |
36 | 36 | fetch-depth: 1 |
37 | 37 |
|
@@ -71,15 +71,42 @@ jobs: |
71 | 71 |
|
72 | 72 | steps: |
73 | 73 | - name: Download all the artifacts |
74 | | - uses: actions/download-artifact@v6 |
| 74 | + uses: actions/download-artifact@v7 |
75 | 75 | with: |
76 | 76 | merge-multiple: true |
77 | 77 | path: dist/ |
78 | 78 | - name: List downloaded artifacts |
79 | 79 | run: ls -R dist/ |
80 | 80 | - name: Publish to TestPyPI |
| 81 | + id: publish-testpypi |
| 82 | + continue-on-error: true |
81 | 83 | uses: pypa/gh-action-pypi-publish@release/v1 |
82 | 84 | with: |
83 | 85 | repository-url: https://test.pypi.org/legacy/ |
84 | 86 | skip-existing: true |
85 | 87 | verbose: true |
| 88 | + - name: Display error message on publish failure |
| 89 | + if: steps.publish-testpypi.outcome == 'failure' |
| 90 | + run: | |
| 91 | + echo "::error::Failed to publish to TestPyPI" |
| 92 | + echo "" |
| 93 | + echo "⚠️ TestPyPI Publish Failed" |
| 94 | + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" |
| 95 | + echo "" |
| 96 | + echo "This may be due to TestPyPI storage limits." |
| 97 | + echo "See: https://docs.pypi.org/project-management/storage-limits" |
| 98 | + echo "" |
| 99 | + echo "To resolve this issue, use the pypi-cleanup utility to clean up old TestPyPI artifacts:" |
| 100 | + echo "https://pypi.org/project/pypi-cleanup/" |
| 101 | + echo "" |
| 102 | + echo " uvx pypi-cleanup --package pyiceberg --host https://test.pypi.org/ \\" |
| 103 | + echo " --verbose -d 10 --do-it --username <username>" |
| 104 | + echo "" |
| 105 | + echo "Requirements:" |
| 106 | + echo " • Must be a maintainer for pyiceberg on TestPyPI" |
| 107 | + echo " (https://test.pypi.org/project/pyiceberg)" |
| 108 | + echo " • Requires TestPyPI password and 2FA" |
| 109 | + echo " • ⚠️ ONLY do this for TestPyPI, NOT for production PyPI!" |
| 110 | + echo "" |
| 111 | + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" |
| 112 | + exit 1 |
0 commit comments