diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index 42613d220..691f4839e 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -7,9 +7,10 @@ jobs: name: python ${{ matrix.python-version }}, bitcoind ${{ matrix.bitcoind-version }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: - os: [macos-13, ubuntu-latest] - python-version: ["3.8", "3.12"] + os: [macos-13, ubuntu-22.04] + python-version: ["3.8", "3.12", "3.13"] bitcoind-version: ["25.1", "29.0"] steps: @@ -19,7 +20,7 @@ jobs: with: version: v0.9.0 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} # - name: Cache venv @@ -33,7 +34,9 @@ jobs: - name: Setup joinmarket + virtualenv if: steps.cache-venv.outputs.cache-hit != 'true' run: | - bash -x ./install.sh --develop --with-qt + bash -x ./install.sh --develop + # TODO: restore qt install + # bash -x ./install.sh --develop --with-qt ./jmvenv/bin/python -m pip install --upgrade pip - name: Lint with flake8 run: source ./jmvenv/bin/activate && ./test/lint/lint-python.sh diff --git a/install.sh b/install.sh index 4bc047534..abe9966ec 100755 --- a/install.sh +++ b/install.sh @@ -180,7 +180,7 @@ check_skip_build () upgrade_setuptools () { pip install --upgrade pip - pip install --upgrade setuptools + pip install --upgrade 'setuptools>=64,<69' } venv_setup () @@ -424,8 +424,14 @@ joinmarket_install () reqs+=',test' fi - if [ "$with_jmvenv" == 1 ]; then pip_command=pip; else pip_command=pip3; fi - $pip_command install -e ".[${reqs}]" || return 1 + if [ "$with_jmvenv" == 1 ]; then + # shellcheck source=/dev/null + source "${jm_source}/jmvenv/bin/activate" || return 1 + fi + pip3 install --ignore-requires-python -e ".[${reqs}]" || return 1 + if [ "$with_jmvenv" == 1 ]; then + deactivate + fi if [[ ${with_qt} == "1" ]]; then if [[ -d ~/.local/share/icons ]] && [[ -d ~/.local/share/applications ]]; then diff --git a/pyproject.toml b/pyproject.toml index 8f0e58142..50a6a6c87 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=64", "wheel"] +requires = ["setuptools>=64,<69", "wheel"] build-backend = "setuptools.build_meta" [project] @@ -7,7 +7,7 @@ name = "joinmarket" version = "0.9.12dev" description = "Joinmarket client library for Bitcoin coinjoins" readme = "README.md" -requires-python = ">=3.8,<3.13" +requires-python = ">3.11.2,<3.13" license = {file = "LICENSE"} dependencies = [ "chromalog==1.0.5",