[SPARK-57897][BUILD] Create connector/credential-aws module with CI/release integration - #57679
Open
sarutak wants to merge 1 commit into
Open
Conversation
…elease integration Add the connector/credential-aws module scaffolding for the OIDC Credential Propagation SPIP (SPARK-57703). This is Sub-task 8. This PR establishes the build infrastructure only (stub provider). The actual provider implementation and its tests will follow in SPARK-57898. Changes: - connector/credential-aws/pom.xml with AWS SDK v2 STS dependency - Root pom.xml: credential-aws profile - project/SparkBuild.scala: optionallyEnabledProjects + MiMa exclusion - dev/sparktestsupport/modules.py: credential_aws Module - dev/sparktestsupport/utils.py: doctest expected output update - META-INF/services registration for ServiceLoader discovery - Stub AwsStsCredentialProvider (supportedSchemes only, init/resolve throw) - ServiceLoader discovery unit test (5 tests) - CI/release/lint script updates (22 locations): -Pcredential-aws added alongside -Pkinesis-asl in all build/test/lint/release scripts
sarutak
force-pushed
the
oidc-propagation/subtask8-credential-aws-scaffolding
branch
from
July 31, 2026 15:20
c976365 to
3d6ba32
Compare
uros-b
approved these changes
Jul 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
This PR creates the
connector/credential-awsmodule scaffolding as a part of the OIDC Credential Propagation SPIP (SPARK-57703).Module definition:
connector/credential-aws/pom.xml(parent: spark-parent_2.13, deps: spark-core provided, spark-tags, junit-jupiter test)pom.xml:<profile><id>credential-aws</id>with<module>connector/credential-aws</module>project/SparkBuild.scala: addedcredentialAwstooptionallyEnabledProjectsand MiMa exclusion listdev/sparktestsupport/modules.py:credential_awsModule definitiondev/sparktestsupport/utils.py: doctest expected output updateServiceLoader registration and stub provider:
META-INF/services/org.apache.spark.security.CredentialProviderpointing toAwsStsCredentialProviderAwsStsCredentialProvider— minimal implementation for ServiceLoader discovery testing. This class will be replaced by the full implementation in SPARK-57898 (Sub-task 9). The stub is included here to verify that the ServiceLoader wiring, test framework setup, and CI profile activation work end-to-end.CI/release/lint script updates (
-Pcredential-awsadded in 22 locations):.github/workflows/build_and_test.yml(is-changed.py module list, SBT build, Maven build).github/workflows/maven_test.yml(all build/test commands).github/workflows/python_hosted_runner_test.yml.github/workflows/benchmark.ymldev/create-release/release-build.shdev/test-dependencies.shdev/mimadev/lint-javadev/sbt-checkstyledev/scalastyledocs/_plugins/build_api_docs.rbdev/spark-test-image-util/docs/build-docsNote: This PR establishes the build infrastructure only (stub provider). The actual provider implementation and its tests will follow in SPARK-57898, which will exercise the profile end-to-end (compilation, test execution, lint checks).
Why are the changes needed?
The AWS reference provider needs a separate module to keep AWS SDK dependencies out of Spark core. Splitting the module scaffolding from the implementation:
Does this PR introduce any user-facing change?
No. The module is activated only via
-Pcredential-aws(Maven) or by includingcredential-awsin SBT'soptionallyEnabledProjects. It is not included in the default build. The stub provider throwsUnsupportedOperationExceptiononinit()andresolve().How was this patch tested?
mvn -Pcredential-aws -pl connector/credential-aws test: 5 tests pass (ServiceLoader discovery, supportedSchemes, init throws, resolve throws, suggestedTtl)build/sbt -Pcredential-aws "credential-aws/test": 5 tests passpython3 -m doctest dev/sparktestsupport/utils.py: passes with updated expected output./dev/lint-java: Checkstyle checks passed./dev/mima: success./dev/scalastyle: Scalastyle checks passedmvn -Pcredential-aws -pl connector/credential-aws apache-rat:check: all source files have valid license headersWas this patch authored or co-authored using generative AI tooling?
Kiro CLI / Claude