Add support for local file system for logs assets#808
Merged
pditommaso merged 9 commits intomasterfrom May 22, 2025
Merged
Conversation
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Closed
This comment was marked as outdated.
This comment was marked as outdated.
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for generic object storage for build logs and conda lock files, moving away from AWS S3–specific configuration.
- Updates configuration files to use a unified "path" attribute instead of separate bucket/prefix settings.
- Refactors tests and service implementations to use a new BuildConfig for storage paths and to segregate logs and locks storage operations.
- Adjusts the ObjectStorageOperationsFactory to create storage operations based on the new configuration.
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/test/resources/application-test.yml | Replaces bucket/prefix settings with a unified path for logs and locks. |
| src/test/groovy/io/seqera/wave/util/BucketTokenizerTest.groovy | Adds test case for a 'some/path' value; confirms that non-scheme paths are tokenized properly. |
| src/test/groovy/io/seqera/wave/service/logs/BuildLogsServiceTest.groovy | Adjusts tests to instantiate BuildLogServiceImpl with BuildConfig, ensuring proper key formation. |
| src/main/resources/application-dev.yml | Updates local dev configuration to use paths for logs and locks. |
| src/main/resources/application-buildlogs-local.yml | Removes the local build logs configuration file. |
| src/main/resources/application-buildlogs-aws-test.yml | Updates AWS test configuration to use path-based settings. |
| src/main/groovy/io/seqera/wave/service/logs/BuildLogServiceImpl.groovy | Refactors service implementation to retrieve keys from BuildConfig and to use dedicated storage operations for logs and locks. |
| src/main/groovy/io/seqera/wave/service/aws/ObjectStorageOperationsFactory.groovy | Refactors factory methods to support both local and AWS storage based on the new configuration. |
| src/main/groovy/io/seqera/wave/configuration/BuildConfig.groovy | Introduces logsPath and locksPath properties and memoized getters to extract prefixes. |
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
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.
This PR add support for object storage other than AWS S3 to store build logs.
Solve #807