diff --git a/.github/workflows/deploy-release.yml b/.github/workflows/deploy-release.yml index d15d601..658d4ca 100644 --- a/.github/workflows/deploy-release.yml +++ b/.github/workflows/deploy-release.yml @@ -532,6 +532,8 @@ jobs: with: curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} curseforge-id: ${{ needs.preflight.outputs.curseforge_project_id }} + # A timeout or HTTP 500 can follow an accepted upload. Check the file before retrying. + curseforge-retry-attempts: 1 name: Sky's Building Pieces ${{ needs.preflight.outputs.release_version }} for Minecraft ${{ needs.preflight.outputs.minecraft_version }} (${{ needs.preflight.outputs.loader_display }}) version: ${{ needs.preflight.outputs.release_version }} version-type: ${{ inputs.curseforge_release_level }} diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 00041bc..9ffec8b 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -28,9 +28,12 @@ use the same version suffix and branch naming rules. Each port must supply its own tested build setup and correct metadata. If publication stops, inspect the completed stages before retrying. Keep the -same commit and immutable bundle; rerun only failed jobs when an upload has -already succeeded. Do not create another CurseForge file while one is awaiting -approval. +same commit and immutable bundle. CurseForge uploads make one attempt: a +timeout or HTTP 500 can happen after the service has accepted the file. +Check the project's Files page, filename and hash before deciding what to run +again. If the file exists or is awaiting approval, leave the upload alone and +continue only the remaining publication steps. Never blindly rerun the +CurseForge job or create another file to resolve an uncertain response. Content mods must be released before add-ons that require them. Keep dependency source pins up to date when preparing a coordinated release.