Skip to content
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

PR for v1.5.7 #323

Open
wants to merge 97 commits into
base: main
Choose a base branch
from
Open

PR for v1.5.7 #323

wants to merge 97 commits into from

Conversation

ThomasJejkal
Copy link
Contributor

@ThomasJejkal ThomasJejkal commented Nov 11, 2024

Summary by CodeRabbit

  • Chores
    • Updated the version of the Docker metadata action in the publishing workflow.
    • Updated the Gradle distribution URL to the latest version.
    • Upgraded various plugins and dependencies in the build configuration.
    • Updated the Codecov action in the Gradle workflow.
    • Improved formatting in the Gradlew script for better output handling.

Copy link

coderabbitai bot commented Nov 11, 2024

Warning

Rate limit exceeded

@ThomasJejkal has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 6 minutes and 46 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 69a47ec and a0b969c.

📒 Files selected for processing (5)
  • .github/workflows/docker-publish.yml (2 hunks)
  • CHANGELOG.md (2 hunks)
  • build.gradle (4 hunks)
  • src/main/java/edu/kit/datamanager/repo/configuration/ElasticConfiguration.java (2 hunks)
  • src/main/java/edu/kit/datamanager/repo/configuration/WebSecurityConfig.java (1 hunks)

Walkthrough

The pull request updates several configuration files, including the Docker workflow, Gradle wrapper, and build configuration. The Docker workflow file's docker/metadata-action version has been changed from 0de3687b53cd804b63dd87819f7bda043569ce4a to 906ecf0fc0a80f9110f79d9e6c04b1080f4a2621, and the docker/build-push-action version has been updated from 5e99dacf67635c4f273e532b9266ddb609b3025a to 7e094594beda23fc8f21fa31049f4b203e51096b. The gradle-wrapper.properties file now points to Gradle version 8.12 instead of 8.10.2. Additionally, the Gradle build configuration has been updated with various plugin and dependency version upgrades, while the workflow for building the project has been modified to include new triggers and an updated Codecov action version.

Changes

File Change Summary
.github/workflows/docker-publish.yml Updated docker/metadata-action version from 0de3687b53cd804b63dd87819f7bda043569ce4a to 906ecf0fc0a80f9110f79d9e6c04b1080f4a2621. Updated docker/build-push-action version from 5e99dacf67635c4f273e532b9266ddb609b3025a to 7e094594beda23fc8f21fa31049f4b203e51096b.
gradle/wrapper/gradle-wrapper.properties Updated distributionUrl from https://services.gradle.org/distributions/gradle-8.10.2-bin.zip to https://services.gradle.org/distributions/gradle-8.12-bin.zip.
.github/workflows/gradle.yml Updated Codecov action version from v4 to v5, modified workflow triggers, and organized job configurations.
build.gradle Updated plugin versions for io.spring.dependency-management from 1.1.6 to 1.1.7, io.freefair.lombok and io.freefair.maven-publish-java from 8.10.2 to 8.11, and various dependency versions including javersVersion, spring-data-elasticsearch, spring-messaging, spring-boot-admin-starter-client, nimbus-jose-jwt, and spring-restdocs-mockmvc.
gradlew Modified APP_HOME variable output formatting from printf '%s to printf '%s\n'.

Poem

In the land of code where rabbits play,
A version change brightens the day.
Docker's metadata takes a new flight,
With updates that shimmer, oh what a sight!
Hops of joy in the workflow's dance,
A smoother build, give it a chance! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

renovate bot and others added 18 commits November 11, 2024 17:22
…a-action-digest

Update docker/metadata-action digest to 44d81d6
…mbok-8.x

Update plugin io.freefair.lombok to v8.11
…ework.data-spring-data-elasticsearch-5.x

Update dependency org.springframework.data:spring-data-elasticsearch to v5.4.0
…-spring-boot-admin-starter-client-3.x

Update dependency de.codecentric:spring-boot-admin-starter-client to v3.3.6
…imbus-jose-jwt-9.x

Update dependency com.nimbusds:nimbus-jose-jwt to v9.47
…v-action-5.x

Update codecov/codecov-action action to v5
…ework-spring-messaging-6.x

Update dependency org.springframework:spring-messaging to v6.2.0
…ven-publish-java-8.x

Update plugin io.freefair.maven-publish-java to v8.11
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (1)
.github/workflows/gradle.yml (1)

Line range hint 15-39: Optimize build matrix and commands configuration

The build job configuration has a few potential improvements:

  1. The matrix includes only ubuntu-latest and macOS-latest, but there's Windows-specific build logic that's never used.
  2. The build commands for Linux and macOS are identical and could be simplified.

Consider this optimization:

     strategy:
       matrix:
-        operating-system: [ubuntu-latest, macOS-latest]
+        operating-system: [ubuntu-latest, macOS-latest, windows-latest]
         # Use both LTS releases and latest one for tests
         jdk: [ 17 ]
     steps:
     - name: Checkout repo
       uses: actions/checkout@v4
     - name: Set up OpenJDK version ...
       uses: actions/setup-java@v4
       with:
         distribution: 'zulu' 
         java-version: ${{ matrix.jdk }}
     - name: Grant execute permission for gradlew
       run: chmod +x gradlew
     - name: Build with Gradle
       run:   |
-        if [ "$RUNNER_OS" == "Linux" ]; then
-              ./gradlew clean build 
-        elif [ "$RUNNER_OS" == "macOS" ]; then
-              ./gradlew clean build 
-        elif [ "$RUNNER_OS" == "Windows" ]; then
+        if [ "$RUNNER_OS" == "Windows" ]; then
               ./gradlew.bat clean build
         else
-              echo "$RUNNER_OS not supported"
-              exit 1
+              ./gradlew clean build
         fi
       shell: bash

This simplifies the configuration while maintaining the same functionality and adds Windows support.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 53d5e8d and 3600f9c.

📒 Files selected for processing (2)
  • .github/workflows/gradle.yml (1 hunks)
  • build.gradle (3 hunks)
🔇 Additional comments (6)
.github/workflows/gradle.yml (1)

61-63: Verify Codecov action upgrade compatibility

The upgrade from v4 to v5 of the Codecov action is significant. While the change is good to keep dependencies current, we should verify:

  1. The new version's compatibility with the current workflow
  2. The coverage report path is still valid

Let's verify the configuration:

Consider adding the following recommended parameters for v5:

       uses: codecov/codecov-action@v5
       with:
         files: ./build/reports/jacoco/test/jacocoTestReport.xml #optional
+        fail_ci_if_error: true # recommended: fail the PR if coverage upload fails
+        verbose: true # recommended: provide detailed upload information
✅ Verification successful

Codecov action upgrade is properly configured

The verification shows that:

  1. JaCoCo is correctly configured in build.gradle with the latest version (0.8.12)
  2. The coverage report path ./build/reports/jacoco/test/jacocoTestReport.xml is correctly set in the workflow, matching the configuration in gradle/profile-complete.gradle
  3. The JaCoCo report generation is properly configured with XML output enabled

While the suggested parameters (fail_ci_if_error and verbose) could improve the workflow, they are optional and not required for the basic functionality. The current configuration is sufficient for successful coverage reporting.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify Codecov configuration and coverage report path

# Check if there's a .codecov.yml configuration file that might need updates
echo "Checking for Codecov configuration file..."
if [ -f ".codecov.yml" ] || [ -f "codecov.yml" ]; then
    echo "Found Codecov configuration file:"
    cat .codecov.yml 2>/dev/null || cat codecov.yml 2>/dev/null
fi

# Verify the JaCoCo report path exists in build.gradle
echo -e "\nVerifying JaCoCo configuration in build.gradle..."
if [ -f "build.gradle" ]; then
    echo "JaCoCo configuration in build.gradle:"
    grep -A 10 "jacocoTestReport" build.gradle
fi

Length of output: 414


Script:

#!/bin/bash
# Let's verify the Gradle build files and JaCoCo configuration more thoroughly

# First, find all Gradle build files
echo "=== Searching for Gradle build files ==="
fd -e gradle -e kts

# Check content of any build files for JaCoCo configuration
echo -e "\n=== Checking JaCoCo configuration in build files ==="
fd -e gradle -e kts --exec grep -l "jacoco" {} \; | while read -r file; do
    echo -e "\nFile: $file"
    cat "$file"
done

# Check if the JaCoCo report directory exists and list its structure
echo -e "\n=== Checking for existing JaCoCo reports ==="
fd -g "build/reports/jacoco"

# Let's also check the workflow file to understand the full context
echo -e "\n=== Checking workflow configuration ==="
cat .github/workflows/gradle.yml

Length of output: 8353

build.gradle (5)

71-71: LGTM: Safe patch version update

The update to spring-boot-admin-starter-client 3.3.6 is a patch version change and should be backward compatible.


65-65: ⚠️ Potential issue

Review Spring Messaging major version upgrade

The upgrade from spring-messaging 6.1.14 to 6.2.0 is a major version change that requires careful consideration:

  1. This might introduce breaking changes in message handling
  2. Ensure all Spring dependencies are aligned to version 6.2.0 to avoid compatibility issues
#!/bin/bash
# Search for Spring Messaging usage
echo "Searching for @MessageMapping and other Spring Messaging annotations..."
ast-grep --pattern '$_(@MessageMapping|@SendTo|@SubscribeMapping)' 

# Search for custom message handlers
echo "Searching for custom message handlers..."
rg "implements.*MessageHandler|extends.*AbstractMessageChannel" --type java

85-85: Verify security implications of JWT library update

The update to nimbus-jose-jwt 9.47 should be verified for:

  1. Security vulnerability fixes
  2. Potential breaking changes in JWT handling
#!/bin/bash
# Check for security advisories
gh api graphql -f query='
{
  securityVulnerabilities(first: 5, ecosystem: MAVEN, package: "com.nimbusds:nimbus-jose-jwt") {
    nodes {
      advisory {
        summary
        severity
        publishedAt
      }
      vulnerableVersionRange
      firstPatchedVersion {
        identifier
      }
    }
  }
}'

# Search for JWT token usage
echo "Searching for JWT token handling code..."
rg "JWTClaimsSet|SignedJWT|JWSObject" --type java

63-63: Verify Spring Data Elasticsearch compatibility

The upgrade to spring-data-elasticsearch 5.4.0 is a minor version update that might include breaking changes. Please ensure:

  1. Compatibility with Spring Boot 3.3.5
  2. Review of any breaking changes in the migration guide
#!/bin/bash
# Search for Elasticsearch-related code that might need updates
echo "Searching for Elasticsearch repositories and queries..."
rg -l "ElasticsearchRepository|@Query.*elasticsearch" --type java

# Search for custom Elasticsearch configurations
echo "Searching for custom Elasticsearch configurations..."
rg "elasticsearch" --type java -g "config/**"

4-5: Verify Lombok compatibility with Spring Boot version

The freefair Lombok plugin update to 8.11 looks good, but let's ensure it's compatible with the project's Spring Boot version (3.3.5).

✅ Verification successful

The previous GitHub API query failed, so let's try a different approach to verify the compatibility. We'll first check the actual Spring Boot version and Lombok usage in the project to make a more informed decision.


Lombok plugin update to 8.11 is compatible and safe to use

The verification shows that:

  • The project uses Spring Boot 3.3.5 with Java 17
  • Lombok usage is minimal, only found in two files
  • freefair Lombok plugin 8.11 is a minor version update from 8.10.2
  • The plugin version is compatible with both Spring Boot 3.3.5 and Java 17
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if there are any reported issues with Lombok 8.11 and Spring Boot 3.3.5
gh api graphql -f query='
{
  search(query: "repo:freefair/gradle-plugins is:issue spring boot 3.3.5", type: ISSUE, first: 5) {
    nodes {
      ... on Issue {
        title
        url
        state
      }
    }
  }
}'

Length of output: 1599


Script:

#!/bin/bash
# Let's check the Spring Boot version and other dependencies in build.gradle
cat build.gradle

# Also check if there are any Lombok-related issues in the codebase
rg -l "@Lombok|@Data|@Getter|@Setter|@Builder" --type java

Length of output: 5505

ThomasJejkal and others added 30 commits December 23, 2024 09:22
…r.jvm.convert-4.x

Update plugin org.asciidoctor.jvm.convert to v4.0.4
…imbus-jose-jwt-9.x

Update dependency com.nimbusds:nimbus-jose-jwt to v9.48
…te.release-3.x

Update plugin net.researchgate.release to v3.1.0
…ush-action-digest

Update docker/build-push-action digest to 67a2d40
…imbus-jose-jwt-10.x

Update dependency com.nimbusds:nimbus-jose-jwt to v10
…ework-spring-messaging-6.x

Update dependency org.springframework:spring-messaging to v6.2.2
…ework.cloud-spring-cloud-starter-netflix-eureka-client-4.x

Update dependency org.springframework.cloud:spring-cloud-starter-netflix-eureka-client to v4.2.0
…a-action-digest

Update docker/metadata-action digest to 8e1d546
…ction-digest

Update docker/login-action digest to 327cd5a
…-spring-boot-admin-starter-client-3.x

Update dependency de.codecentric:spring-boot-admin-starter-client to v3.4.1
…ework.cloud-spring-cloud-starter-config-4.x

Update dependency org.springframework.cloud:spring-cloud-starter-config to v4.2.0
…ework.cloud-spring-cloud-gateway-mvc-4.x

Update dependency org.springframework.cloud:spring-cloud-gateway-mvc to v4.2.0
…ework.boot-3.x

Update plugin org.springframework.boot to v3.4.1
…ework.data-spring-data-elasticsearch-5.x

Update dependency org.springframework.data:spring-data-elasticsearch to v5.4.1
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