From ef579e7e9fd906cdd895d9e784b722dc2d4dce9c Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Sat, 25 Sep 2021 12:09:45 +0200 Subject: [PATCH] gci: Pin down a couple more dependencies --- .github/scripts/build.sh | 15 ++- .github/workflows/macos.yaml | 35 +++-- contrib/pyln-client/requirements.txt | 2 +- contrib/pyln-proto/requirements.txt | 3 +- requirements.lock | 185 +++++++++++++++++++++++++++ 5 files changed, 221 insertions(+), 19 deletions(-) create mode 100644 requirements.lock diff --git a/.github/scripts/build.sh b/.github/scripts/build.sh index 67c4396f2..ee30a0723 100755 --- a/.github/scripts/build.sh +++ b/.github/scripts/build.sh @@ -20,20 +20,27 @@ export TIMEOUT=900 export VALGRIND=${VALGRIND:-0} export FUZZING=${FUZZING:-0} -env +pip3 install --user -U \ + -r requirements.lock -pip3 install --user -U -r requirements.txt --use-feature=in-tree-build +timeout 60 pip3 install --user \ + --use-feature=in-tree-build \ + ./contrib/pyln-client \ + ./contrib/pyln-proto \ + ./contrib/pyln-testing # Install utilities that aren't dependencies, but make # running tests easier/feasible on CI (and pytest which # keeps breaking the rerunfailures plugin). -pip3 install --user -U \ +pip3 install --user \ blinker \ flake8 \ - make \ + flaky \ + mako \ pytest-sentry \ pytest-test-groups==1.0.3 \ pytest-custom-exit-code==0.3.0 \ + pytest-timeout \ pytest-json-report git clone https://github.com/lightningnetwork/lightning-rfc.git ../lightning-rfc diff --git a/.github/workflows/macos.yaml b/.github/workflows/macos.yaml index d47bb42e1..3540dc98b 100644 --- a/.github/workflows/macos.yaml +++ b/.github/workflows/macos.yaml @@ -15,6 +15,10 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2.0.0 + with: + # Need to fetch full history to get pyln versions identified + # correctly + fetch-depth: 0 - name: Set up Python 3.6 uses: actions/setup-python@v2 @@ -53,27 +57,32 @@ jobs: TEST_GROUP_COUNT: ${{ matrix.TEST_GROUP_COUNT }} TEST_GROUP: ${{ matrix.TEST_GROUP }} run: | - export PATH="/usr/local/opt:$PATH" + export PATH="/usr/local/opt:/Users/runner/.local/bin:$PATH" export LDFLAGS="-L/usr/local/opt/sqlite/lib" export CPPFLAGS="-I/usr/local/opt/sqlite/include" - pip3 install --user -U --use-feature=in-tree-build \ - -r requirements.txt \ - -r contrib/pyln-client/requirements.txt \ - -r contrib/pyln-proto/requirements.txt \ - -r contrib/pyln-testing/requirements.txt + pip3 install --user -U \ + -r requirements.lock - # Install utilities that aren't dependencies, but make - # running tests easier/feasible on CI (and pytest which - # keeps breaking the rerunfailures plugin). - pip3 install -U \ - flaky \ + pip3 install --user --no-index \ + --use-feature=in-tree-build \ + ./contrib/pyln-spec/bolt7 \ + ./contrib/pyln-client \ + ./contrib/pyln-proto \ + ./contrib/pyln-testing + + # Install utilities that aren't dependencies, but make + # running tests easier/feasible on CI (and pytest which + # keeps breaking the rerunfailures plugin). + pip3 install --user -U \ blinker \ + flake8 \ + flaky \ + mako \ pytest-sentry \ pytest-test-groups==1.0.3 \ pytest-custom-exit-code==0.3.0 \ - pytest-json-report \ - mypy==0.790 + pytest-json-report cat << EOF > pytest.ini [pytest] diff --git a/contrib/pyln-client/requirements.txt b/contrib/pyln-client/requirements.txt index b661f4d0b..20a01a09c 100644 --- a/contrib/pyln-client/requirements.txt +++ b/contrib/pyln-client/requirements.txt @@ -1,2 +1,2 @@ -recommonmark>=0.7.* +recommonmark~=0.7 pyln-bolt7 diff --git a/contrib/pyln-proto/requirements.txt b/contrib/pyln-proto/requirements.txt index 960b69cad..0c81a83bc 100644 --- a/contrib/pyln-proto/requirements.txt +++ b/contrib/pyln-proto/requirements.txt @@ -1,6 +1,7 @@ base58 ~= 2.0.1 bitstring ~= 3.1.6 -coincurve ~= 13.0.0 +coincurve ~= 13.0 cryptography ~= 3.2 mypy>=0.790 pysocks ~= 1.7.1 +pycparser==2.20 diff --git a/requirements.lock b/requirements.lock new file mode 100644 index 000000000..6c95dc9e5 --- /dev/null +++ b/requirements.lock @@ -0,0 +1,185 @@ +# +# This file is autogenerated by pip-compile with python 3.8 +# To update, run: +# +# pip-compile --output-file=requirements.lock requirements.in +# +alabaster==0.7.12 + # via sphinx +asn1crypto==1.4.0 + # via coincurve +attrs==21.2.0 + # via + # jsonschema + # pytest +babel==2.9.1 + # via sphinx +base58==2.0.1 + # via -r requirements.in +bitstring==3.1.9 + # via -r requirements.in +certifi==2021.5.30 + # via requests +cffi==1.14.6 + # via + # coincurve + # cryptography +charset-normalizer==2.0.6 + # via requests +cheroot==8.5.2 + # via -r requirements.in +click==7.1.2 + # via flask +coincurve==13.0.0 + # via -r requirements.in +commonmark==0.9.1 + # via recommonmark +crc32c==2.2.post0 + # via -r requirements.in +cryptography==3.4.8 + # via -r requirements.in +docutils==0.17.1 + # via + # recommonmark + # sphinx +entrypoints==0.3 + # via flake8 +ephemeral-port-reserve==1.1.1 + # via -r requirements.in +execnet==1.9.0 + # via pytest-xdist +flake8==3.7.9 + # via -r requirements.in +flaky==3.7.0 + # via -r requirements.in +flask==1.1.4 + # via -r requirements.in +idna==3.2 + # via requests +imagesize==1.2.0 + # via sphinx +iniconfig==1.1.1 + # via pytest +itsdangerous==1.1.0 + # via flask +jaraco.functools==3.3.0 + # via cheroot +jinja2==2.11.3 + # via + # flask + # mrkd + # sphinx +jsonschema==3.2.0 + # via -r requirements.in +mako==1.1.5 + # via -r requirements.in +markupsafe==2.0.1 + # via + # jinja2 + # mako +mccabe==0.6.1 + # via flake8 +mistune==0.8.4 + # via mrkd +mistune-contrib==0.1 + # via mrkd +more-itertools==8.10.0 + # via + # cheroot + # jaraco.functools +mrkd==0.1.6 + # via -r requirements.in +mypy==0.910 + # via -r requirements.in +mypy-extensions==0.4.3 + # via mypy +packaging==21.0 + # via + # pytest + # sphinx +plac==1.3.3 + # via mrkd +pluggy==0.13.1 + # via pytest +psutil==5.7.3 + # via -r requirements.in +psycopg2-binary==2.8.6 + # via -r requirements.in +py==1.10.0 + # via + # pytest + # pytest-forked +pycodestyle==2.5.0 + # via flake8 +pycparser==2.20 + # via + # -r requirements.in + # cffi +pyflakes==2.1.1 + # via flake8 +pygments==2.10.0 + # via + # mrkd + # sphinx +pyparsing==2.4.7 + # via packaging +pyrsistent==0.18.0 + # via jsonschema +pysocks==1.7.1 + # via -r requirements.in +pytest==6.1.2 + # via + # -r requirements.in + # pytest-forked + # pytest-rerunfailures + # pytest-timeout + # pytest-xdist +pytest-forked==1.3.0 + # via pytest-xdist +pytest-rerunfailures==9.1.1 + # via -r requirements.in +pytest-timeout==1.4.2 + # via -r requirements.in +pytest-xdist==2.2.1 + # via -r requirements.in +python-bitcoinlib==0.11.0 + # via -r requirements.in +pytz==2021.1 + # via babel +recommonmark==0.7.1 + # via -r requirements.in +requests==2.26.0 + # via sphinx +six==1.16.0 + # via + # cheroot + # jsonschema +snowballstemmer==2.1.0 + # via sphinx +sphinx==4.2.0 + # via recommonmark +sphinxcontrib-applehelp==1.0.2 + # via sphinx +sphinxcontrib-devhelp==1.0.2 + # via sphinx +sphinxcontrib-htmlhelp==2.0.0 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.3 + # via sphinx +sphinxcontrib-serializinghtml==1.1.5 + # via sphinx +toml==0.10.2 + # via + # mypy + # pytest +typing-extensions==3.10.0.2 + # via mypy +urllib3==1.26.7 + # via requests +werkzeug==1.0.1 + # via flask + +# The following packages are considered to be unsafe in a requirements file: +# setuptools