Skip to content
This repository was archived by the owner on Apr 27, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/unittests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
matrix:
os: [macos-13, ubuntu-latest]
python-version: ["3.9", "3.12"]
python-version: ["3.9", "3.13"]
Copy link
Copy Markdown

@3nprob 3nprob Nov 1, 2025

Choose a reason for hiding this comment

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

Suggested change
python-version: ["3.9", "3.13"]
python-version: ["3.9", "3.12", "3.13"]

#1814 (comment)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It feels overkill to me, not sure there's much added value...

Copy link
Copy Markdown

@3nprob 3nprob Nov 1, 2025

Choose a reason for hiding this comment

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

In the linked thread we already see a possible regression stemming from the twisted upgrade only arising in 3.12 but not 3.13, no? Detecting such situations before merge and release doesn't seem like overkill as long as 3.12 is supported.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@3nprob, afaict the failing test you are referring too is know to be flaky. i had written a potential structural fix in #1565

bottom line, extending test matrix would not bring much imo

Copy link
Copy Markdown

@3nprob 3nprob Nov 1, 2025

Choose a reason for hiding this comment

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

@3nprob, afaict the failing test you are referring too is know to be flaky. i had written a potential structural fix in #1565

I think this is actually unrelated and different?

Ie, what I believe is an example of the flakiness you mention: https://github.com/JoinMarket-Org/joinmarket-clientserver/actions/runs/18870804891/job/53848480732

_____ ERROR at teardown of TrialTestWRPC_DisplayWallet.test_unlock_locked ______
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

twisted.trial.util.DirtyReactorAggregateError: Reactor was unclean.
E           Exception: Failed to sync in fast mode after 20 batches; please re-try wallet sync with --recoversync flag.

I've also anecdotally seen spurious timeout and some AssertionError 0 === 1 happen locally.

Different failing unit and errors (afaict the unexpected 200 status code there have not been seen otherwise?). The failures I mention can also occur earlier than 120s in, vs the ones mentioned in #1565. I've gone as far back in JM CI runs as logs are retained and can not see it happening historically.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think this is actually unrelated and different?

right, i went too quick in conclusion, this is likely unrelated

I've also anecdotally seen spurious timeout and some AssertionError 0 === 1 happen locally.

i've seen these ones too from time to time, much less, or not, with 3.13 as far as i recall.

bottom line, flaky tests should be identified locally and addressed structurally, i'm not in favor of "fat" ci runs to capture flakiness

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm against increasing matrix too much here. Actually, when I proposed originally to have tests with both two Python and two Bitcoin Core versions, there was some opposition even against that. In any case, this discussion is out of scope of this PR.

bitcoind-version: ["28.3", "29.2"]

steps:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Download the latest [release](https://github.com/Joinmarket-Org/joinmarket-clien

Make sure to validate the signature on the tar/zip file provided with the [release](https://github.com/Joinmarket-Org/joinmarket-clientserver/releases) (or check the signature in git if you install that way using `git log --show-signature`).

JoinMarket requires Python >=3.8, <3.13 installed.
JoinMarket requires Python >=3.8, <3.14 installed.

(**macOS users**: Make sure that you have Homebrew and Apple's Command Line Tools installed.)

Expand Down
2 changes: 1 addition & 1 deletion docs/INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* [Installation on Windows](#installation-on-windows)
* [Alternative/custom installation](#alternativecustom-installation)

JoinMarket requires Python >=3.8, <3.13.
JoinMarket requires Python >=3.8, <3.14.

### Notes on upgrading, binaries and compatibility

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "joinmarket"
version = "0.9.12dev"
description = "Joinmarket client library for Bitcoin coinjoins"
readme = "README.md"
requires-python = ">=3.9,<3.13"
requires-python = ">=3.9,<3.14"
license = {file = "LICENSE"}
dependencies = [
"chromalog==1.0.5",
Expand Down
Loading