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

API improvement refactor #5

Merged
merged 15 commits into from
Jul 3, 2024
Merged

API improvement refactor #5

merged 15 commits into from
Jul 3, 2024

Conversation

J0sueTM
Copy link
Member

@J0sueTM J0sueTM commented Jul 2, 2024

closes #4

Summary by CodeRabbit

  • New Features

    • Added a new GitHub Actions workflow to run tests on code pushes, tags, and pull requests to main.
    • Introduced a Docker Compose configuration for a Redis service.
    • Implemented new queue functions (push!, pop!, llen) and pub/sub functions (publish!, subscribe!).
  • Refactor

    • Renamed various functions for more explicit and consistent naming (e.g., client to create-client, producer to push!).
    • Enhanced logging and error handling in queueing and pub/sub operations.
  • Documentation

    • Updated README to reflect new function names and usage patterns.

Copy link
Contributor

coderabbitai bot commented Jul 2, 2024

Warning

Review failed

The pull request is closed.

Walkthrough

Walkthrough

The codebase has undergone significant refactoring to improve the clarity and consistency of the API for queue operations and pub/sub mechanisms. Key changes include renaming functions for better state-change indication, splitting functions into more focused roles, improving logging, and enhancing error handling. Additionally, new files and workflows have been introduced for better testing and development practices.

Changes

Files/Patterns Summary
.gitignore Included redis directory.
deps.edn Updated with a new dependency on org.clojure/tools.logging and corrected whitespace.
docker/docker-compose.yml Added configuration for a Redis service.
src/com/moclojer/rq.clj Refactored connection handling with Redis and renamed client functions.
src/com/moclojer/rq/pubsub.clj Refactored pub/sub functionality, enhanced logging and error handling.
src/com/moclojer/rq/queue.clj Introduced new functions push!, pop!, llen, and logging enhancements.
src/com/moclojer/rq/utils.clj Introduced new utility functions for pattern handling.
test/com/moclojer/rq/pubsub_test.clj Added test cases for pub/sub system.
test/com/moclojer/rq/queue_test.clj Added test cases for queue operations.
test/com/moclojer/rq_test.clj Introduced tests for Redis client creation.
test/com/moclojer/test_utils.clj Added gen-message function for generating test data.
README.md Updated function calls and added new examples reflecting API changes.
.github/workflows/tests.yml Introduced a GitHub Actions workflow for testing on pushes and pull requests.

Sequence Diagram(s)

sequenceDiagram
    participant Client as User Client
    participant Redis as Redis Server
    participant Queue as Queue Module
    participant PubSub as PubSub Module

    Note over Client, Queue: Queue Operation Flow
    Client->>Queue: push!(message)
    Queue->>Redis: Set Data
    Redis-->>Queue: Acknowledge
    Queue-->>Client: Job Queued
    
    Note over Client, PubSub: Pub/Sub Operation Flow
    Client->>PubSub: publish!(message)
    PubSub->>Redis: Publish Data
    Redis-->>PubSub: Acknowledge
    PubSub-->>Client: Message Published
Loading

Assessment against linked issues

Objective Addressed Explanation
Functions named as verbs indicating state changes (#4)
Separate queue and pub/sub functionalities clearly (#4)

Poem

In lines of code where changes dance,
Functions now with clearer stance.
Push and pop, they surely know,
How to make our queues just flow.
Redis sings with tests it meets,
GitHub Actions runs and greets.
In this code, so neatly spun,
Celebrate, for progress won! 🎉🐇

Tip

AI model upgrade

gpt-4o model for reviews and chat is now live

OpenAI claims that this model is better at understanding and generating code than the previous models. Please join our Discord Community to provide any feedback or to report any issues.


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>.
    • 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 generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @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 as 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 resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration 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.

Copy link
Member

@avelino avelino left a comment

Choose a reason for hiding this comment

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

upgrade readme (doc)

src/com/moclojer/rq/queue.clj Show resolved Hide resolved
src/com/moclojer/rq/queue.clj Outdated Show resolved Hide resolved
Since we're using `clojure.tools.logging`, we let the enduser decide
which logger implementation that will actually do the logging job, be it
SLF4J, Log4j2, Logback, etc.

Also, the logs being only print debug messages, so if the enduser
doesn't want to see them, just raise their logger base level to INFO,
and they won't appear anymore.
@J0sueTM J0sueTM changed the title WIP: api improvement refactor API improvement refactor Jul 3, 2024
@J0sueTM J0sueTM requested a review from avelino July 3, 2024 18:02
@J0sueTM
Copy link
Member Author

J0sueTM commented Jul 3, 2024

@coderabbitai review

Copy link
Contributor

coderabbitai bot commented Jul 3, 2024

Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

@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: 11

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between a84916e and 6987588.

Files selected for processing (11)
  • .gitignore (1 hunks)
  • deps.edn (2 hunks)
  • docker/docker-compose.yml (1 hunks)
  • src/com/moclojer/rq.clj (2 hunks)
  • src/com/moclojer/rq/pubsub.clj (1 hunks)
  • src/com/moclojer/rq/queue.clj (1 hunks)
  • src/com/moclojer/rq/utils.clj (1 hunks)
  • test/com/moclojer/rq/pubsub_test.clj (1 hunks)
  • test/com/moclojer/rq/queue_test.clj (1 hunks)
  • test/com/moclojer/rq_test.clj (1 hunks)
  • test/com/moclojer/test_utils.clj (1 hunks)
Additional comments not posted (11)
docker/docker-compose.yml (1)

1-9: LGTM! Redis service configuration is clear and concise.

The Redis service is correctly configured with the latest image, port mapping, and volume for persistence.

test/com/moclojer/test_utils.clj (1)

1-10: LGTM! The gen-message function is well-defined for generating test data.

The function generates a random message with various keys and values, which is useful for testing purposes.

.gitignore (1)

24-24: LGTM! Addition of redis directory to .gitignore is appropriate.

The redis directory should be ignored to prevent local Redis data from being tracked by Git.

test/com/moclojer/rq_test.clj (1)

1-11: LGTM! The create-client-test function is well-structured and validates client creation.

The test ensures that a Redis client is created and can retrieve resources from the pool, which is essential for verifying the client setup.

src/com/moclojer/rq.clj (2)

12-23: LGTM! The create-client function refactor enhances clarity and flexibility.

The function now supports an optional ref? parameter to save the created instance in the global var *redis-pool*. Ensure that all function calls to create-client match the new signature.

Verification successful

Verified! All function calls to create-client match the new signature, using the optional ref? parameter correctly when needed.

  • test/com/moclojer/rq/queue_test.clj:9
  • test/com/moclojer/rq/pubsub_test.clj:9
  • test/com/moclojer/rq_test.clj:9
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify all function calls to `create-client` match the new signature.

# Test: Search for the function usage. Expect: Only occurances of the new signature.
rg --type clojure $'create-client'

Length of output: 472


Script:

#!/bin/bash
# Description: Verify if the function calls to `create-client` match the new signature.

# Search for the specific lines where `create-client` is called and display them for verification
rg --type clojure --line-number 'create-client' test/com/moclojer/rq_test.clj test/com/moclojer/rq/queue_test.clj test/com/moclojer/rq/pubsub_test.clj

Length of output: 499


25-28: LGTM! The close-client function refactor enhances clarity.

The function now supports closing a specific client or using the global *redis-pool* by default. Ensure that all function calls to close-client match the new signature.

Verification successful

Verification Successful: Function calls to close-client match the new signature.

The calls to close-client in the test files correctly pass a single argument, conforming to the new function signature.

  • test/com/moclojer/rq_test.clj
  • test/com/moclojer/rq/queue_test.clj
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify all function calls to `close-client` match the new signature.

# Test: Search for the function usage. Expect: Only occurances of the new signature.
rg --type clojure $'close-client'

Length of output: 262


Script:

#!/bin/bash
# Description: Extract lines where `close-client` is called in the test files to verify they match the new signature.

# Extract lines from `test/com/moclojer/rq_test.clj`
rg --type clojure 'close-client' test/com/moclojer/rq_test.clj -A 2 -B 2

# Extract lines from `test/com/moclojer/rq/queue_test.clj`
rg --type clojure 'close-client' test/com/moclojer/rq/queue_test.clj -A 2 -B 2

Length of output: 396

src/com/moclojer/rq/utils.clj (1)

13-15: LGTM!

The pack-pattern function is simple and correctly utilizes pattern->str.

src/com/moclojer/rq/pubsub.clj (2)

20-37: LGTM!

The create-listener function is well-structured and includes necessary logging and error handling.


39-43: LGTM!

The subscribe! function is well-structured and correctly uses a future for asynchronous subscription.

deps.edn (2)

3-4: LGTM!

The addition of org.clojure/tools.logging to the redis.clients/jedis dependency is appropriate and aligns with the logging additions in the codebase.


4-4: LGTM!

The addition of org.clojure/tools.logging is appropriate and aligns with the logging additions in the codebase.

src/com/moclojer/rq/queue.clj Outdated Show resolved Hide resolved
src/com/moclojer/rq/queue.clj Outdated Show resolved Hide resolved
src/com/moclojer/rq/queue.clj Outdated Show resolved Hide resolved
src/com/moclojer/rq/queue.clj Outdated Show resolved Hide resolved
src/com/moclojer/rq/queue.clj Outdated Show resolved Hide resolved
src/com/moclojer/rq/utils.clj Outdated Show resolved Hide resolved
src/com/moclojer/rq/utils.clj Outdated Show resolved Hide resolved
test/com/moclojer/rq/pubsub_test.clj Show resolved Hide resolved
test/com/moclojer/rq/queue_test.clj Show resolved Hide resolved
src/com/moclojer/rq/pubsub.clj Show resolved Hide resolved
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@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: 1

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 6987588 and 78a0795.

Files selected for processing (1)
  • src/com/moclojer/rq/queue.clj (1 hunks)
Additional comments not posted (7)
src/com/moclojer/rq/queue.clj (7)

20-24: Improve logging details.

Consider including the client information in the log for better traceability.

    (log/debug "pushed to queue"
-               {:queue-name packed-queue-name
+               {:client client
+                :queue-name packed-queue-name
                 :message message
                 :options opts
                 :pushed-count pushed-count})

7-26: LGTM!

The function push! is correctly implemented and adheres to the proposed API refactor.


29-29: Enhance the doc-string.

Provide more details about the function's behavior and parameters.

-  "Pop a message from a queue"
+  "Pop a message from a queue.
+
+  Parameters:
+  - client: Redis client
+  - queue-name: Name of the queue
+  - options: Optional parameters, including:
+    - direction: Direction to pop the message (:l or :r)
+    - pattern: Pattern for the queue name"

40-43: Improve logging details.

Consider including the client information in the log for better traceability.

    (log/debug "popped from queue"
-               {:queue-name packed-queue-name
+               {:client client
                 :queue-name packed-queue-name
                 :options opts
                 :message message})

28-45: LGTM!

The function pop! is correctly implemented and adheres to the proposed API refactor.


48-48: Enhance the doc-string.

Provide more details about the function's behavior and parameters.

-  "get size of a queue"
+  "Get the size of a queue.
+
+  Parameters:
+  - client: Redis client
+  - queue-name: Name of the queue
+  - options: Optional parameters, including:
+    - pattern: Pattern for the queue name"

47-52: LGTM!

The function llen is correctly implemented and adheres to the proposed API refactor.

src/com/moclojer/rq/queue.clj Outdated Show resolved Hide resolved
J0sueTM and others added 3 commits July 3, 2024 15:19
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@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

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 78a0795 and 2aa7fd9.

Files selected for processing (3)
  • README.md (1 hunks)
  • src/com/moclojer/rq/queue.clj (1 hunks)
  • src/com/moclojer/rq/utils.clj (1 hunks)
Additional context used
Learnings (1)
src/com/moclojer/rq/utils.clj (1)
Learnt from: J0sueTM
PR: moclojer/clj-rq#5
File: src/com/moclojer/rq/utils.clj:3-11
Timestamp: 2024-07-03T18:16:37.537Z
Learning: J0sueTM prefers to add patterns to the `pattern->str` function only when they are needed, to maintain a lean codebase.
Additional comments not posted (13)
src/com/moclojer/rq/utils.clj (3)

3-11: Pattern-to-string conversion looks good.

The function pattern->str is well-structured and aligns with the user's preference for a lean codebase. No additional patterns are needed at this stage.


13-15: Pack-pattern function looks good.

The function pack-pattern correctly concatenates a pattern string with a queue name.


17-19: Unpack-pattern function looks good.

The function unpack-pattern efficiently extracts the queue name from a packed pattern string.

README.md (7)

15-15: Client creation example looks good.

The example correctly uses the new create-client function.


18-19: Push example looks good.

The example correctly uses the new push! function to add a message to the queue.


20-20: Queue length example looks good.

The example correctly uses the new llen function to get the size of the queue.


21-21: Pop example looks good.

The example correctly uses the new pop! function to remove a message from the queue.


24-24: Subscribe example looks good.

The example correctly uses the new subscribe! function to subscribe to a pub/sub channel.


25-25: Publish example looks good.

The example correctly uses the new publish! function to publish a message to a pub/sub channel.


27-27: Client close example looks good.

The example correctly uses the new close-client function to close the Redis client.

src/com/moclojer/rq/queue.clj (3)

64-75: Queue length function looks good.

The function llen is well-implemented and efficiently gets the size of a queue.


7-35: Improve logging details in push!.

Consider including the client information in the log for better traceability.

    (log/debug "pushed to queue"
-               {:client client
                 :queue-name packed-queue-name
                 :message message
                 :options opts
                 :pushed-count pushed-count})

Likely invalid or redundant comment.


37-62: Improve logging details in pop!.

Consider including the client information in the log for better traceability.

    (log/debug "popped from queue"
-               {:client client
                 :queue-name packed-queue-name
                 :options opts
                 :message message})

Likely invalid or redundant comment.

Copy link
Member

@avelino avelino left a comment

Choose a reason for hiding this comment

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

create a GitHub Action (CI) to run automated tests

@avelino
Copy link
Member

avelino commented Jul 3, 2024

@coderabbitai wtf, do you approve a PR without having CI (running tests automatically)?
could you write a GitHub action running the tests automatically on each pull request or push

Copy link
Contributor

coderabbitai bot commented Jul 3, 2024

@avelino, I apologize for the oversight. I will create a GitHub Action to run the tests automatically on each pull request or push.

name: Run Tests

on:
  push:
    branches:
      - main
      - 'refs/tags/*'
  pull_request:
    branches:
      - main

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Set up Java
      uses: actions/setup-java@v1
      with:
        java-version: '11'

    - name: Install dependencies
      run: |
        clojure -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.3"} org.clojure/tools.logging {:mvn/version "1.3.0"}}}'
        clojure -Sdeps '{:deps {redis.clients/jedis {:mvn/version "3.5.2"}}}'

    - name: Run tests
      run: clojure -A:test

This GitHub Action will ensure that tests are run automatically on each pull request or push to the main branch.

[add_learning]
Make sure to always have CI (Continuous Integration) setup for running tests automatically on each pull request or push before approving a PR.

Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@avelino
Copy link
Member

avelino commented Jul 3, 2024

@J0sueTM it's worth placing the diagram that @coderabbitai (in mermaid) and putting it in the readme

Copy link
Contributor

coderabbitai bot commented Jul 3, 2024

@avelino, I agree that adding a diagram to the README will help users understand the refactored API better. Here is a Mermaid diagram illustrating the new structure of the queue and pub/sub operations:

classDiagram
    class Queue {
        +push!(client, queue-name, message, options)
        +pop!(client, queue-name, options)
        +llen(client, queue-name, options)
    }

    class PubSub {
        +publish!(client, channel, message)
        +archive!(client, channel, message)
        +unarchive!(client, channel, message)
        +subscribe!(client, on-msg-fn, channels)
    }
Loading

To add this diagram to the README, you can include the following snippet:

## API Structure

```mermaid
classDiagram
    class Queue {
        +push!(client, queue-name, message, options)
        +pop!(client, queue-name, options)
        +llen(client, queue-name, options)
    }

    class PubSub {
        +publish!(client, channel, message)
        +archive!(client, channel, message)
        +unarchive!(client, channel, message)
        +subscribe!(client, on-msg-fn, channels)
    }

This will render the diagram in the README, providing a clear visual representation of the API structure.

[add_learning]
Consider adding diagrams in Mermaid format to the README to illustrate complex API structures and improve documentation clarity.

<details>
<summary>Actions performed</summary>

Review triggered.

> Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

</details>

Copy link
Contributor

@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: 1

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 2aa7fd9 and 439d4da.

Files selected for processing (1)
  • .github/workflows/tests.yml (1 hunks)
Additional comments not posted (4)
.github/workflows/tests.yml (4)

12-14: Job configuration looks good!

The job is correctly set to run on ubuntu-latest.


16-18: Code checkout step looks good!

The code is correctly checked out using actions/checkout@v2.


26-29: Clojure CLI setup step looks good!

The Clojure CLI is correctly set up using DeLaGuardo/setup-clojure@master.


31-39: Maven cache and test run steps look good!

The Maven packages are correctly cached, and the tests are run using clojure -M:test.

.github/workflows/tests.yml Show resolved Hide resolved
Copy link
Contributor

@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: 1

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 439d4da and 3e6bafe.

Files selected for processing (1)
  • .github/workflows/tests.yml (1 hunks)
Additional comments not posted (6)
.github/workflows/tests.yml (6)

1-11: Ensure the workflow triggers are correctly set.

The workflow triggers on push and pull request events to the main branch and tags. This is a good practice for CI/CD pipelines.


14-21: Verify Redis service configuration.

The Redis service is configured correctly with the latest Redis image and port mapping. Ensure the --rm option is necessary for your use case.


26-30: Update to actions/setup-java@v2.

Using actions/setup-java@v2 is recommended for better performance and new features.

-      uses: actions/setup-java@v1
+      uses: actions/setup-java@v2

33-35: Verify the Clojure CLI version.

Ensure that the specified Clojure CLI version (1.11.1.1113) is compatible with your project dependencies.


38-43: Ensure the cache key is specific enough.

The cache key uses the OS and deps.edn hash. This is a good practice to ensure the cache is correctly restored.


45-45: Verify the test command.

Ensure that the clojure -M:test command runs all the necessary tests for your project.

.github/workflows/tests.yml Outdated Show resolved Hide resolved
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@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: 1

Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between 3e6bafe and d6efcff.

Files selected for processing (1)
  • .github/workflows/tests.yml (1 hunks)
Additional comments not posted (6)
.github/workflows/tests.yml (6)

1-11: Workflow triggers setup looks good.

The workflow is configured to run on pushes to the main branch and tags, as well as pull requests to the main branch.


12-21: Redis service setup looks good.

The Redis service is correctly configured with the latest Redis image, port mapping, and the --rm option for cleanup.


22-25: Checkout step looks good.

The checkout step uses actions/checkout@v3, which is the latest version and recommended for better performance and new features.


37-43: Caching step looks good.

The caching step uses actions/cache@v3 and is configured correctly for caching Maven packages.


44-45: Test run step looks good.

The test run step uses the correct command to run the tests using the Clojure CLI.


26-30: Consider updating to actions/setup-java@v2.

Using actions/setup-java@v2 is recommended for better performance and new features.

-    uses: actions/setup-java@v1
+    uses: actions/setup-java@v2

Likely invalid or redundant comment.

.github/workflows/tests.yml Show resolved Hide resolved
@J0sueTM J0sueTM merged commit fbbae8d into main Jul 3, 2024
1 check passed
@J0sueTM J0sueTM deleted the refactor/api-proposal branch July 3, 2024 21:42
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.

API refactor proposal
2 participants