Skip to content

Conversation

@rraulinio
Copy link
Member

@rraulinio rraulinio commented Nov 10, 2025

Addressing upgrades issue.

Updated most of the libs (if not all) in the repo.

Deprecations as follows:

  • AWS SDK Go v1 - EOL July 2025
  • AWS SDK Java v1 - EOL Dec 2025

☝️ They are getting removed. V2 on both will be used instead.

Added extra testing functionality.

@rraulinio rraulinio marked this pull request as draft November 10, 2025 14:36
@rraulinio rraulinio self-assigned this Nov 10, 2025
@rraulinio rraulinio changed the title Investigate new AWS features Investigate potential upgrades Nov 10, 2025
@rraulinio
Copy link
Member Author

rraulinio commented Nov 12, 2025

First stage is done as of right now: upgrade everything.

(1/14) Running aws-sdk-go-v2 tests ... done in 2 seconds
(2/14) Running aws-sdk-java-v2 tests ... done in 2 seconds
(3/14) Running aws-sdk-php tests ... done in 43 seconds
(4/14) Running aws-sdk-ruby tests ... done in 2 seconds
(5/14) Running awscli tests ... done in 29 seconds
(6/14) Running healthcheck tests ... done in 1 seconds
(7/14) Running mc tests ... done in 58 seconds
(8/14) Running minio-go tests ... done in 1 minutes and 23 seconds
(9/14) Running minio-java tests ... done in 12 seconds
(10/14) Running minio-js tests ... done in 1 minutes and 15 seconds
(11/14) Running minio-py tests ... done in 32 seconds
(12/14) Running s3cmd tests ... done in 26 seconds
(13/14) Running s3select tests ... done in 0 seconds
(14/14) Running versioning tests ... done in 3 minutes and 3 seconds

There is a bug in https://github.com/minio/minio-py (temporarily patched so tests pass). I'll address it separately.

Next stage: adding additional coverage, for which I have a rather large checklist to go through.
This also implies some potential fixes in EOS (not confirmed yet).

@rraulinio
Copy link
Member Author

minio-py is patched, temporarily pulling master until a new version is released.

@rraulinio rraulinio marked this pull request as ready for review November 20, 2025 11:13
@rraulinio
Copy link
Member Author

We are able to release with [email protected], for now.

@rraulinio rraulinio requested a review from Copilot November 20, 2025 14:33
Copilot finished reviewing on behalf of rraulinio November 20, 2025 14:34
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR addresses library and SDK upgrades across the repository, replacing deprecated AWS SDK Go v1 and Java v1 with their v2 counterparts ahead of their EOL dates (July 2025 and December 2025 respectively). The changes also include system-level upgrades to Ubuntu 24.04, Node.js 24, Java 21, .NET 8.0, and Python 3.12.

  • Migration from AWS SDK Go v1 to v2 and AWS SDK Java v1 to v2
  • System environment upgrades (Ubuntu 24.04, Node.js 24, JDK 21, .NET 8.0, Python 3.12)
  • Updated build configurations and dependency management for Python packages with --break-system-packages flag
  • Added new testing functionality for bucket versioning

Reviewed Changes

Copilot reviewed 52 out of 57 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
source.sh Updates Go version to 1.25.4 and Gradle to 9.2.0
Dockerfile Upgrades base image from Ubuntu 22.04 to 24.04
run/core/aws-sdk-go-v2/main.go New AWS SDK Go v2 implementation with comprehensive S3 tests
run/core/aws-sdk-go/main.go Removed AWS SDK Go v1 implementation
run/core/minio-go/versioning_test.go Added versioning test for excluded prefixes
build/versioning/*.go Migrated from AWS SDK Go v1 to v2 API
install-packages.list Updated Java and .NET package versions
preinstall.sh Updated Node.js to v24 and Python to 3.12
build/awscli/install.sh Updated botocore and AWS CLI versions with new empty body handling
build/minio-py/install.sh Added --break-system-packages flag for PEP 668 compliance
run/core/s3select/*.py Updated Minio Python SDK calls to use keyword arguments
run/core/aws-sdk-php/*.php Migrated from Psr7\stream_for() to Psr7\Utils::streamFor()
Comments suppressed due to low confidence (6)

build/versioning/get.go:168

  • result may be nil at this dereference because err may not have been checked.
		result.Body.Close()

build/versioning/stat.go:161

  • result may be nil at this dereference because err may not have been checked.
    build/versioning/stat.go:166
  • result may be nil at this dereference because err may not have been checked.
    build/versioning/stat.go:186
  • result may be nil at this dereference because err may not have been checked.
    build/versioning/stat.go:186
  • result may be nil at this dereference because err may not have been checked.
    build/versioning/stat.go:191
  • result may be nil at this dereference because err may not have been checked.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@rraulinio
Copy link
Member Author

@harshavardhana This one is ready, everything works just fine (including EOS).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant