diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a89b515af..c55d09093 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -109,7 +109,6 @@ jobs: run: python -m pip install setuptools wheel tox - name: Install Linux build dependencies - if: ${{ runner.os == 'Linux' }} run: | sudo apt update; sudo apt install -y swig libpython3-dev libsasl2-dev libjsoncpp-dev libwebsockets-dev libnghttp2-dev ccache ninja-build pixz libbenchmark-dev @@ -210,10 +209,9 @@ jobs: architecture: x64 - name: Install Python runtime/test dependencies - run: python -m pip install tox quart selectors h2 grpcio protobuf websockets pytest + run: "python -m pip install --only-binary :all: -r ./requirements-dev.txt" - name: Install Linux runtime/test dependencies - if: ${{ runner.os == 'Linux' }} run: | sudo apt update; sudo apt install -y libsasl2-2 libsasl2-modules sasl2-bin libjsoncpp1 libwebsockets15 libbenchmark1 pixz bubblewrap curl ncat gdb elfutils findutils file python3-dbg @@ -374,7 +372,6 @@ jobs: dnf config-manager --set-enabled powertools - name: Install Linux build dependencies - if: ${{ runner.os == 'Linux' }} run: | dnf install -y gcc gcc-c++ cmake libuuid-devel openssl-devel cyrus-sasl-devel cyrus-sasl-plain swig python3-devel python3-pip make libwebsockets-devel libnghttp2-devel ccache libasan libubsan libtsan @@ -446,14 +443,9 @@ jobs: run: env -0 | sort -z | tr '\0' '\n' - name: Install Python runtime/test dependencies - run: python3 -m pip install tox quart selectors h2 protobuf websockets pytest - - - name: Install Python runtime/test dependencies (Fedora) - if: ${{ matrix.container == 'fedora' }} - run: python3 -m pip install grpcio + run: "python -m pip install --only-binary :all: -r ./requirements-dev.txt" - name: Install Linux runtime/test dependencies - if: ${{ runner.os == 'Linux' }} run: | dnf install -y curl nmap-ncat gdb binutils elfutils elfutils-debuginfod-client findutils file dnf debuginfo-install -y python3 @@ -530,7 +522,6 @@ jobs: path: 'qpid-proton' - name: Install Linux build dependencies - if: ${{ runner.os == 'Linux' }} run: | sudo apt update; sudo apt install -y python3-qpid-proton libpython3-dev ninja-build diff --git a/README.adoc b/README.adoc index 02bf06eff..fbaf28e33 100644 --- a/README.adoc +++ b/README.adoc @@ -92,6 +92,20 @@ $ ./run.py === Test-only dependencies +.Install all package dependencies at once (Fedora) +[source, shell script] +---- +dnf install curl nmap-ncat +---- + +.Install all Python test dependencies at once +[source, shell script] +---- +pip3 install --only-binary :all: -r ./requirements-dev.txt +---- + +==== Description of the individual dependencies + The HTTP2 system tests (`tests/system_tests_http2.py`) use the Python Quart and hyper-h2 frameworks to start a HTTP2 server. The HTTP2 system tests only runs if diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 000000000..986419bbc --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,34 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License +# + +# https://pip.pypa.io/en/stable/reference/requirements-file-format + +setuptools +virtualenv +wheel +tox + +pytest + +grpcio +h2 +protobuf +quart +selectors +websockets