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

fix(deps): update river monorepo to v0.18.0 #71

Merged
merged 1 commit into from
Feb 21, 2025

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 20, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/riverqueue/river v0.17.0 -> v0.18.0 age adoption passing confidence
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.17.0 -> v0.18.0 age adoption passing confidence
github.com/riverqueue/river/rivertype v0.17.0 -> v0.18.0 age adoption passing confidence

Release Notes

riverqueue/river (github.com/riverqueue/river)

v0.18.0

Compare Source

⚠️ Version 0.18.0 has breaking changes for the rivertest.Worker type that was just introduced. While attempting to round out some edge cases with its design, we realized some of them simply couldn't be solved adequately without changing the overall design such that all tested jobs are inserted into the database. Given the short duration since it was released (over a weekend) it's unlikely many users have adopted it and it seemed best to rip off the bandaid to fix it before it gets widely used.

Added
  • Jobs can now store a recorded "output" value, a JSON-encoded payload set by the job during execution and stored in the job's metadata. The river.RecordOutput function makes it easy to use the job row to store transient/temporary values that are needed for introspection or for other downstream jobs. The output can be accessed using the JobRow.Output() helper method.

    This output is stored at the same time as the job is completed following execution, so it does not require additional database calls or overhead. Output can be anything that can be stored in a Postgres JSONB field, though for performance reasons it should be limited in size. PR #​758.

Changed
  • Breaking change: The rivertest.Worker type now requires all jobs to be inserted into the database. The original design allowed workers to be tested without hitting the database at all. Ultimately this design made it hard to correctly simulate features like JobCompleteTx and the other potential solutions seemed undesirable.

    As part of this change, the Work and WorkJob methods now take a transaction argument. The expectation is that a transaction will be opened by the caller and rolled back after test completion. Additionally, the return signature was changed to return a WorkResult struct alongside the error. The struct includes the post-execution job row as well as the event kind that occurred, making it easy to inspect the job's state after execution.

    Finally, the implementation was refactored so that it uses the real river.Client insert path, and also uses the same job execution path as real execution. This minimizes the potential for differences in behavior between testing and real execution.
    PR #​766.

  • Adjusted panic stack traces to filter out irrelevant frames like the ones generated by the runtime package that constructed the trace, or River's internal rescuing code. This makes the first panic frame reflect the actual panic origin for easier debugging. PR #​774.

Fixed
  • Fix error message on unsuccessful client subscribe that erroneously referred to "Workers" not configured. PR #​771.
  • Fix an issue with encoding unique keys in riverdatabasesql driver. PR #​777.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team as a code owner February 20, 2025 19:00
@renovate renovate bot added the dependencies update of dependent libraries label Feb 20, 2025
Copy link
Contributor Author

renovate bot commented Feb 20, 2025

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 2 additional dependencies were updated

Details:

Package Change
github.com/riverqueue/river/riverdriver v0.17.0 -> v0.18.0
github.com/riverqueue/river/rivershared v0.17.0 -> v0.18.0

@github-actions github-actions bot removed the dependencies update of dependent libraries label Feb 20, 2025
@renovate renovate bot force-pushed the renovate/river-monorepo branch from 4c48cea to 8bcd71f Compare February 20, 2025 19:31
@golanglemonade golanglemonade merged commit 61c316a into main Feb 21, 2025
12 checks passed
@golanglemonade golanglemonade deleted the renovate/river-monorepo branch February 21, 2025 18:43
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