Skip to content

[Bug] Empty version causes Modrinth to throw HTTP 500 #144

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Scubakay opened this issue Feb 7, 2025 · 3 comments
Open

[Bug] Empty version causes Modrinth to throw HTTP 500 #144

Scubakay opened this issue Feb 7, 2025 · 3 comments
Labels
bug Something isn't working

Comments

@Scubakay
Copy link

Scubakay commented Feb 7, 2025

Description

I've been getting an error with a workflow that used to work (2 months ago):

HttpError: 500 (Internal Server Error, {"error":"database_error","description":"Database Error: Error while interacting with the database: error returned from database: duplicate key value violates unique constraint \"version_fields_pkey\""})

I've been trying to get a hold of Modrinth support about it, but it's been days without answer. So I was hoping someone here might know something about some change they made and hopefully a way to fix it.

This error happens with any version I give my resource pack so it's not a duplicate version of the pack.

Expected Behavior

It should not 500

Actual Behavior

It 500

Version

3.3

Environment

GitHub Actions

Configuration

# Publish the resourcepack to Modrinth

name: Publish Modrinth

on:
  workflow_call:
    inputs:
      resourcepack-filename:
        required: true
        type: string
      datapack-filename:
        required: true
        type: string
      compatpack-filename:
        required: true
        type: string
      modrinth-projectid:
        required: true
        type: string
      game-version:
        required: true
        type: string
      java-version:
        required: true
        type: string
    outputs:
      modrinth-version:
        value: ${{jobs.publish-modrinth.outputs.modrinth-version}}
      resourcepack-url:
        value: ${{jobs.publish-modrinth.outputs.resourcepack-url}}
      compatpack-url:
        value: ${{jobs.publish-modrinth.outputs.compatpack-url}}

jobs:
  publish-modrinth:
    name: Publish Resourcepack
    runs-on: ubuntu-latest
    outputs:
      modrinth-version: ${{ steps.publish-modrinth.outputs.modrinth-version }}
      resourcepack-url: https\\://cdn.modrinth.com/data/${{github.event.inputs.modrinth-projectid}}/versions/${{steps.publish-modrinth.outputs.modrinth-version}}/${{github.event.inputs.resourcepack-filename}}
      compatpack-url: https\\://cdn.modrinth.com/data/${{github.event.inputs.modrinth-projectid}}/versions/${{steps.publish-modrinth.outputs.modrinth-version}}/${{github.event.inputs.datapack-filename}}
    steps:
      - name: 🛒 Checkout
        uses: actions/checkout@v4

      - name: 📥 Download artifacts
        uses: actions/download-artifact@v4

      - name: 📦 Publish Modrinth
        id: publish-modrinth
        uses: Kir-Antipov/mc-publish@v3.3
        with:
          changelog-file: CHANGELOG.md
          java: ${{github.event.inputs.java-version}}
          files: ./*.zip
          loaders: minecraft
          name: Arcadia Roleplay Data ${{github.ref_name}}
          version: ${{github.ref_name}}
          game-versions: ${{github.event.inputs.game-version}}

          modrinth-id: ${{github.event.inputs.modrinth-projectid}}
          modrinth-token: ${{secrets.PUBLISH_MODRINTH_TOKEN}}

Logs

Run Kir-Antipov/mc-publish@v3.3
  with:
    changelog-file: CHANGELOG.md
    java: 21
    files: ./*.zip
    loaders: minecraft
    name: Arcadia Roleplay Data 3.0.0
    modrinth-id: AAAAAAAA
    modrinth-token: ***
    modrinth-featured: ${undefined}
    modrinth-unfeature-mode: subset
    curseforge-id: ${undefined}
    curseforge-token: ${undefined}
    github-tag: ${undefined}
    github-generate-changelog: ${undefined}
    github-draft: ${undefined}
    github-prerelease: ${undefined}
    github-commitish: ${undefined}
    github-discussion: ${undefined}
    github-token: ${undefined}
    files-primary: ${undefined}
    files-secondary: ${undefined}
    version-type: ${undefined}
    changelog: ${undefined}
    dependencies: ${undefined}
    version-resolver: ${undefined}
    game-version-filter: releases
    retry-attempts: 2
    retry-delay: 10000
    fail-mode: fail
    modrinth-files: ${undefined}
    curseforge-files: ${undefined}
    github-files: ${undefined}
    modrinth-files-primary: ${undefined}
    curseforge-files-primary: ${undefined}
    github-files-primary: ${undefined}
    modrinth-files-secondary: ${undefined}
    curseforge-files-secondary: ${undefined}
    github-files-secondary: ${undefined}
    modrinth-name: ${undefined}
    curseforge-name: ${undefined}
    github-name: ${undefined}
    modrinth-version: ${undefined}
    curseforge-version: ${undefined}
    github-version: ${undefined}
    modrinth-version-type: ${undefined}
    curseforge-version-type: ${undefined}
    github-version-type: ${undefined}
    modrinth-changelog: ${undefined}
    curseforge-changelog: ${undefined}
    github-changelog: ${undefined}
    modrinth-changelog-file: ${undefined}
    curseforge-changelog-file: ${undefined}
    github-changelog-file: ${undefined}
    modrinth-loaders: ${undefined}
    curseforge-loaders: ${undefined}
    github-loaders: ${undefined}
    modrinth-game-versions: ${undefined}
    curseforge-game-versions: ${undefined}
    github-game-versions: ${undefined}
    modrinth-dependencies: ${undefined}
    curseforge-dependencies: ${undefined}
    github-dependencies: ${undefined}
    modrinth-version-resolver: ${undefined}
    curseforge-version-resolver: ${undefined}
    github-version-resolver: ${undefined}
    modrinth-game-version-filter: ${undefined}
    curseforge-game-version-filter: ${undefined}
    github-game-version-filter: ${undefined}
    modrinth-java: ${undefined}
    curseforge-java: ${undefined}
    github-java: ${undefined}
    modrinth-retry-attempts: ${undefined}
    curseforge-retry-attempts: ${undefined}
    github-retry-attempts: ${undefined}
    modrinth-retry-delay: ${undefined}
    curseforge-retry-delay: ${undefined}
    github-retry-delay: ${undefined}
    modrinth-fail-mode: ${undefined}
    curseforge-fail-mode: ${undefined}
    github-fail-mode: ${undefined}
  env:
    JAVA_VERSION: 21
    MODRINTH_TOKEN: ***
    GITHUB_TOKEN: ***
    GAME_VERSION: 1.21.4
    DATAPACK_VERSION: 61
    RESOURCEPACK_VERSION: 46
    FTP_SERVER_PROFILE: season3
    WORLD_NAME: arcadia3
    MODRINTH_PROJECT_ID: AAAAAAA
    RESOURCEPACK_NAME: arcadia-roleplay-data
    DATAPACK_NAME: arcadia-custom-recipes
📤 Uploading assets to Modrinth
Error: HttpError: 500 (Internal Server Error, {"error":"database_error","description":"Database Error: Error while interacting with the database: error returned from database: duplicate key value violates unique constraint \"version_fields_pkey\""})
🔂 Facing difficulties, republishing assets to Modrinth in 10000 ms
Error: HttpError: 500 (Internal Server Error, {"error":"database_error","description":"Database Error: Error while interacting with the database: error returned from database: duplicate key value violates unique constraint \"version_fields_pkey\""})

Other Information

@Scubakay Scubakay added the bug Something isn't working label Feb 7, 2025
@Scubakay
Copy link
Author

Scubakay commented Feb 7, 2025

Sorry. I think this was caused by version being empty.

@Scubakay Scubakay closed this as completed Feb 7, 2025
@Kira-NT
Copy link
Owner

Kira-NT commented Feb 12, 2025

Yup, it definitely is! If you're okay with it, I'll leave this issue open so I won't forget to re-add the version validation, which I somehow lost during the last refactoring, before the next release :D

Also, it's worth notifying the Modrinth folks that they made the same mistake as me and forgot to properly validate their inputs. The server definitely shouldn't crahs out with an HTTP 500 when a user forgets to specify the version!

@Kira-NT Kira-NT reopened this Feb 12, 2025
@Kira-NT Kira-NT changed the title [Bug] 500 http error when uploading resourcepack to Modrinth [Bug] Empty version causes Modrinth to throw HTTP 500 Feb 12, 2025
@Scubakay
Copy link
Author

Support said they added it to their internal bug tracker 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants