Skip to content

Fix maven packages md5 uploads

🌲 Context

The Rack version upgrade introduced an issue where nil response bodies causes a NoMethodError.

The md5 upload is one of these endpoints that return nil response bodies.

🔬 What does this MR do?

  • Return an empty String instead of nil when maven uploads a md5 file
  • Adds the related request specs for md5 and sha1 endpoints
  • Adds the related upload feature specs for md5 and sha1 endpoints

Screenshots

maven deploy log extracts

Before this MR

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ bananas ---
Uploading to gl_pru: https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/1.3.7/bananas-1.3.7.jar
[WARNING] Failed to upload checksum gl/pru/bananas/1.3.7/bananas-1.3.7.jar.md5: Transfer failed for https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/1.3.7/bananas-1.3.7.jar.md5 500 Internal Server Error
Uploaded to gl_pru: https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/1.3.7/bananas-1.3.7.jar (2.2 kB at 617 B/s)
Uploading to gl_pru: https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/1.3.7/bananas-1.3.7.pom
[WARNING] Failed to upload checksum gl/pru/bananas/1.3.7/bananas-1.3.7.pom.md5: Transfer failed for https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/1.3.7/bananas-1.3.7.pom.md5 500 Internal Server Error
Uploaded to gl_pru: https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/1.3.7/bananas-1.3.7.pom (1.3 kB at 540 B/s)
Downloading from gl_pru: https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/maven-metadata.xml
Downloaded from gl_pru: https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/maven-metadata.xml (293 B at 329 B/s)
Uploading to gl_pru: https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/maven-metadata.xml
[WARNING] Failed to upload checksum gl/pru/bananas/maven-metadata.xml.md5: Transfer failed for https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/maven-metadata.xml.md5 500 Internal Server Error
Uploaded to gl_pru: https://gitlab.com/api/v4/projects/19480846/packages/maven/gl/pru/bananas/maven-metadata.xml (293 B at 104 B/s)

With this MR

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ bana ---
Uploading to gl_pru: http://gdk.test:8000/api/v4/projects/34/packages/maven/gl/pru/bana/1.3.7/bana-1.3.7.jar
Uploaded to gl_pru: http://gdk.test:8000/api/v4/projects/34/packages/maven/gl/pru/bana/1.3.7/bana-1.3.7.jar (2.1 kB at 46 B/s)
Uploading to gl_pru: http://gdk.test:8000/api/v4/projects/34/packages/maven/gl/pru/bana/1.3.7/bana-1.3.7.pom
Uploaded to gl_pru: http://gdk.test:8000/api/v4/projects/34/packages/maven/gl/pru/bana/1.3.7/bana-1.3.7.pom (1.3 kB at 537 B/s)
Downloading from gl_pru: http://gdk.test:8000/api/v4/projects/34/packages/maven/gl/pru/bana/maven-metadata.xml
Downloaded from gl_pru: http://gdk.test:8000/api/v4/projects/34/packages/maven/gl/pru/bana/maven-metadata.xml (290 B at 672 B/s)
Uploading to gl_pru: http://gdk.test:8000/api/v4/projects/34/packages/maven/gl/pru/bana/maven-metadata.xml
Uploaded to gl_pru: http://gdk.test:8000/api/v4/projects/34/packages/maven/gl/pru/bana/maven-metadata.xml (290 B at 203 B/s)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by David Fernandez

Merge request reports