From 0b805f308c868ae69825cb6366e2b0a1e74c1f2b Mon Sep 17 00:00:00 2001 From: Andreas Tornes Date: Mon, 12 Jul 2021 12:32:26 +0200 Subject: [PATCH 1/7] Add timeout on waiting for channel open. Prevents lock-up when attempting to connect to a booting server (gmr#133) --- rabbitpy/connection.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/rabbitpy/connection.py b/rabbitpy/connection.py index c4f399d..f8bbcc4 100644 --- a/rabbitpy/connection.py +++ b/rabbitpy/connection.py @@ -310,13 +310,23 @@ def _connect(self): self._channel0.start() # Wait for Channel0 to raise an exception or negotiate the connection - while not self._channel0.open: + timeout_start = time.time() + while time.time() < timeout_start + self.DEFAULT_TIMEOUT: + + if self._channel0.open: + break + if not self._exceptions.empty(): exception = self._exceptions.get() self._io.stop() raise exception + time.sleep(0.01) + # Raise exception if channel not opened before timeout + if not self._channel0.open: + raise exceptions.ConnectionException + # Set the maximum frame size for channel use self._max_frame_size = self._channel0.maximum_frame_size From 4e7c230394b2719aee9f68fb1f78096e062874fc Mon Sep 17 00:00:00 2001 From: Ryan Mclean Date: Wed, 8 May 2024 10:44:08 -0400 Subject: [PATCH 2/7] Change to use ssl.SSLContext - Change to use `ssl.SSLContext` since `ssl.wrap_socket` was deprecated in Python 3.7 and removed in 3.12 - Drops support for Python < 3.8 - Adds support for Python 3.10, 3.11 and 3.12 --- .travis.yml | 16 ++++---- bootstrap.sh | 41 +++++++++---------- docker-compose.yml | 13 +++--- docs/history.rst | 5 +++ rabbitpy/io.py | 3 +- setup.cfg | 10 ++--- setup.py | 16 ++++---- test-requirements.txt | 1 - tests/base_tests.py | 2 +- tests/channel_test.py | 2 +- tests/{amqp_tests.py => test_amqp.py} | 2 +- tests/{exchange_tests.py => test_exchange.py} | 2 +- tests/{message_tests.py => test_message.py} | 2 +- tests/{queue_tests.py => test_queue.py} | 2 +- tests/{tx_tests.py => test_tx.py} | 2 +- 15 files changed, 61 insertions(+), 58 deletions(-) rename tests/{amqp_tests.py => test_amqp.py} (95%) rename tests/{exchange_tests.py => test_exchange.py} (99%) rename tests/{message_tests.py => test_message.py} (99%) rename tests/{queue_tests.py => test_queue.py} (99%) rename tests/{tx_tests.py => test_tx.py} (99%) diff --git a/.travis.yml b/.travis.yml index c1217d3..965271a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,18 +1,18 @@ -dist: xenial +dist: focal language: python python: - - 2.7 - - 3.4 - - 3.5 - - 3.6 - - 3.7 + - 3.8 + - 3.9 + - 3.10 + - 3.11 + - 3.12 services: - docker install: - pip install --upgrade -r test-requirements.txt before_script: - ./bootstrap.sh -script: nosetests +script: coverage run after_success: - codecov - CODECLIMATE_REPO_TOKEN=ed39a2c039a29b0965bfdd243fea7caba2a83a4945bbd69fe95f506066754bd1 codeclimate-test-reporter @@ -21,7 +21,7 @@ deploy: provider: pypi user: crad on: - python: 3.7 + python: 3.12 tags: true all_branches: true password: diff --git a/bootstrap.sh b/bootstrap.sh index 2e41e51..3ec9994 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -6,28 +6,30 @@ # vim: set ts=2 sts=2 sw=2 et: set -e -# Common constants -COLOR_RESET='\033[0m' -COLOR_GREEN='\033[0;32m' -COMPOSE_PROJECT_NAME="${COMPOSE_PROJECT_NAME:-${PWD##*/}}" -TEST_HOST="${TEST_HOST:-localhost}" +TEST_HOST=${TEST_HOST:-"127.0.0.1"} echo "Integration test host: ${TEST_HOST}" -get_ipaddr() { - docker inspect --format '{{ .NetworkSettings.IPAddress }}' $1 -} - get_exposed_port() { docker-compose port $1 $2 | cut -d: -f2 } -report_start() { - printf "Waiting for $1 ... " -} - -report_done() { - printf "${COLOR_GREEN}done${COLOR_RESET}\n" +wait_for() { + printf 'Waiting for %s... ' $1 + counter="0" + while true + do + if [ "$( docker compose ps | grep $1 | grep -c healthy )" -eq 1 ]; then + break + fi + counter=$((counter+1)) + if [ "${counter}" -eq 120 ]; then + echo " ERROR: container failed to start" + exit 1 + fi + sleep 1 + done + echo 'done.' } # Ensure Docker is Running @@ -42,20 +44,17 @@ then . env/bin/activate fi -mkdir -p build reports ddl/build +mkdir -p build # Stop any running instances and clean up after them, then pull images docker-compose down --volumes --remove-orphans docker-compose pull -q docker-compose up -d -report_start "RabbitMQ" -sleep 30 +wait_for rabbitmq + docker-compose exec -T rabbitmq rabbitmqctl await_startup -report_done cat > build/test-environment<=2,<3'], license='BSD', diff --git a/test-requirements.txt b/test-requirements.txt index d2f01db..45e563f 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,7 +1,6 @@ codecov coverage mock -nose flake8 flake8-comprehensions flake8-deprecated diff --git a/tests/base_tests.py b/tests/base_tests.py index 7b21ec5..89b8d2f 100644 --- a/tests/base_tests.py +++ b/tests/base_tests.py @@ -4,7 +4,7 @@ """ from rabbitpy import base, utils -from . import helpers +from tests import helpers class AMQPClassTests(helpers.TestCase): diff --git a/tests/channel_test.py b/tests/channel_test.py index 5fd4d60..e8e7004 100644 --- a/tests/channel_test.py +++ b/tests/channel_test.py @@ -4,7 +4,7 @@ """ from rabbitpy import exceptions -from . import helpers +from tests import helpers class ServerCapabilitiesTest(helpers.TestCase): diff --git a/tests/amqp_tests.py b/tests/test_amqp.py similarity index 95% rename from tests/amqp_tests.py rename to tests/test_amqp.py index 7daf132..6fe716b 100644 --- a/tests/amqp_tests.py +++ b/tests/test_amqp.py @@ -6,7 +6,7 @@ from rabbitpy import amqp, base, channel -from . import helpers +from tests import helpers class BasicAckTests(helpers.TestCase): diff --git a/tests/exchange_tests.py b/tests/test_exchange.py similarity index 99% rename from tests/exchange_tests.py rename to tests/test_exchange.py index c6f951a..f1007c1 100644 --- a/tests/exchange_tests.py +++ b/tests/test_exchange.py @@ -7,7 +7,7 @@ from rabbitpy import exchange -from . import helpers +from tests import helpers class TxTests(helpers.TestCase): diff --git a/tests/message_tests.py b/tests/test_message.py similarity index 99% rename from tests/message_tests.py rename to tests/test_message.py index d4c1c6e..96b7ff7 100644 --- a/tests/message_tests.py +++ b/tests/test_message.py @@ -19,7 +19,7 @@ from rabbitpy import exchange from rabbitpy import message -from . import helpers +from tests import helpers logging.basicConfig(level=logging.DEBUG) diff --git a/tests/queue_tests.py b/tests/test_queue.py similarity index 99% rename from tests/queue_tests.py rename to tests/test_queue.py index d700985..3152141 100644 --- a/tests/queue_tests.py +++ b/tests/test_queue.py @@ -10,7 +10,7 @@ from rabbitpy import exceptions from rabbitpy import utils -from . import helpers +from tests import helpers class QueueInitializationTests(helpers.TestCase): diff --git a/tests/tx_tests.py b/tests/test_tx.py similarity index 99% rename from tests/tx_tests.py rename to tests/test_tx.py index c092e1b..cd7b685 100644 --- a/tests/tx_tests.py +++ b/tests/test_tx.py @@ -7,7 +7,7 @@ from rabbitpy import exceptions, tx -from . import helpers +from tests import helpers class TxTests(helpers.TestCase): From f7aab55a7817363eb5152943d8c494d29746581a Mon Sep 17 00:00:00 2001 From: Ryan Mclean Date: Wed, 5 Jun 2024 12:30:22 -0400 Subject: [PATCH 3/7] Add pyproject.toml - Replace setup.cfg and setup.py with pyproject.toml - Add dependencies to pyproject.toml --- Vagrantfile | 34 ----------------- docker-compose.yml => compose.yml | 0 pyproject.toml | 63 +++++++++++++++++++++++++++++++ requirements.txt | 1 - setup.cfg | 13 ------- setup.py | 35 ----------------- test-requirements.txt | 13 ------- 7 files changed, 63 insertions(+), 96 deletions(-) delete mode 100644 Vagrantfile rename docker-compose.yml => compose.yml (100%) create mode 100644 pyproject.toml delete mode 100644 requirements.txt delete mode 100644 setup.cfg delete mode 100644 setup.py delete mode 100644 test-requirements.txt diff --git a/Vagrantfile b/Vagrantfile deleted file mode 100644 index c6ebf1f..0000000 --- a/Vagrantfile +++ /dev/null @@ -1,34 +0,0 @@ -# -*- mode: ruby -*- -# vi: set ft=ruby : - -# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! -VAGRANTFILE_API_VERSION = "2" - -$install = < /etc/apt/sources.list.d/rabbitmq.list -apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv D208507CA14F4FCA -echo "deb http://packages.erlang-solutions.com/debian precise contrib" > /etc/apt/sources.list.d/erlang-solutions.list - -apt-get -q update -apt-get -y -q install python-pip rabbitmq-server python3 python3-pip -apt-get -q clean -echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config -service rabbitmq-server restart -rabbitmq-plugins enable rabbitmq_management - -pip install pamqp -pip3 install pamqp -INSTALL - -Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| - config.vm.box = "Ubuntu" - config.vm.provision "shell", inline: $install - config.vm.synced_folder ".", "/home/vagrant/src" - config.berkshelf.enabled = false - if Vagrant.has_plugin?("vagrant-vbguest") then - config.vbguest.auto_update = false - end - config.vm.network :forwarded_port, host: 5672, guest: 5672 - config.vm.network :forwarded_port, host: 15672, guest: 15672 -end diff --git a/docker-compose.yml b/compose.yml similarity index 100% rename from docker-compose.yml rename to compose.yml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..7f8ee2a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,63 @@ +[project] +name = "rabbitpy" +version = "2.0.1" +description = "A pure python, thread-safe, minimalistic and pythonic RabbitMQ client library" +readme = "README.rst" +requires-python = ">=3.8" +license = { file = "LICENSE" } +authors = [ { name = "Gavin M. Roy", email = "gavinmroy@gmail.com" } ] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Communications", + "Topic :: Internet", + "Topic :: Software Development :: Libraries" +] +dependencies = [ + "pamqp>=2.3.0,<3.0", +] + +[project.optional-dependencies] +dev = [ + "codecov", + "coverage", + "mock", + "flake8", + "flake8-comprehensions", + "flake8-deprecated", + "flake8-html", + "flake8-import-order", + "flake8-quotes", + "flake8-rst-docstrings", + "flake8-tuple", + "codeclimate-test-reporter", +] + +[project.urls] +Documentation = "https://rabbitpy.readthedocs.io" +Repository = "https://github.com/gmr/rabbitpy.git" +"Code Coverage" = "https://app.codecov.io/github/gmr/rabbitpy" + +[tool.flake8] +application-import-names = ["rabbitpy"] +exclude = ["build", "ci", "docs", "env"] +ignore = "RST304" +import-order-style = "google" + +[tool.coverage.xml] +output = "build/coverage.xml" + +[tool.coverage.run] +branch = true +source = ["rabbitpy"] +command_line = "-m unittest discover tests --buffer --verbose" diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 3fccece..0000000 --- a/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -pamqp>=2.3.0,<3.0 diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 085f172..0000000 --- a/setup.cfg +++ /dev/null @@ -1,13 +0,0 @@ -[wheel] -universal=1 - -[flake8] -application-import-names=rabbitpy -exclude=build,ci,docs,env -ignore=RST304 -import-order-style=google - -[coverage:run] -branch = True -source = rabbitpy -command_line = -m unittest discover tests --buffer --verbose diff --git a/setup.py b/setup.py deleted file mode 100644 index ad4181d..0000000 --- a/setup.py +++ /dev/null @@ -1,35 +0,0 @@ -import setuptools - -desc = ('A pure python, thread-safe, minimalistic and pythonic RabbitMQ ' - 'client library') - -classifiers = ['Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'License :: OSI Approved :: BSD License', - 'Operating System :: OS Independent', - "Programming Language :: Python :: 3 :: Only", - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - 'Programming Language :: Python :: 3.12', - 'Programming Language :: Python :: Implementation :: CPython', - 'Programming Language :: Python :: Implementation :: PyPy', - 'Topic :: Communications', - 'Topic :: Internet', - 'Topic :: Software Development :: Libraries'] - -setuptools.setup(name='rabbitpy', - version='2.0.1', - description=desc, - long_description=open('README.rst').read(), - author='Gavin M. Roy', - author_email='gavinmroy@gmail.com', - url='https://rabbitpy.readthedocs.io', - packages=['rabbitpy'], - package_data={'': ['LICENSE', 'README.rst']}, - include_package_data=True, - install_requires=['pamqp>=2,<3'], - license='BSD', - classifiers=classifiers, - zip_safe=True) diff --git a/test-requirements.txt b/test-requirements.txt deleted file mode 100644 index 45e563f..0000000 --- a/test-requirements.txt +++ /dev/null @@ -1,13 +0,0 @@ -codecov -coverage -mock -flake8 -flake8-comprehensions -flake8-deprecated -flake8-html -flake8-import-order -flake8-quotes -flake8-rst-docstrings -flake8-tuple -codeclimate-test-reporter --r requirements.txt \ No newline at end of file From 848e9d8900dac32eec602aee12d886bad24b1b8a Mon Sep 17 00:00:00 2001 From: Ryan Mclean Date: Wed, 5 Jun 2024 12:32:32 -0400 Subject: [PATCH 4/7] Replace travis CI with Github workflows - Add `test` Github workflow that run tests and upload coverage to codecov. This expects a `CODECOV_TOKEN` secret token - Add `deploy` Github workflow to build and publish tags to PyPI. This expects trusted published to be configured. --- .github/workflows/deploy.yaml | 53 +++++++++++++++++++++++++++++++++++ .github/workflows/test.yaml | 41 +++++++++++++++++++++++++++ .travis.yml | 28 ------------------ 3 files changed, 94 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/deploy.yaml create mode 100644 .github/workflows/test.yaml delete mode 100644 .travis.yml diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..3aa7e44 --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,53 @@ +name: Deployment +on: + push: + branches-ignore: ["*"] + tags: ["*"] +jobs: + build: + name: Build distribution + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.x" + + - name: Install pypa/build + run: python3 -m pip install build --user + + - name: Build a binary wheel and a source tarball + run: python3 -m build + + - name: Store the distribution packages + uses: actions/upload-artifact@v3 + with: + name: python-package-distributions + path: dist/ + + - name: Publish distribution to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + + publish-to-pypi: + name: Publish Python distribution to PyPI + if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes + needs: + - build + runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/p/rabbitpy + permissions: + id-token: write + steps: + - name: Download all the dists + uses: actions/download-artifact@v3 + with: + name: python-package-distributions + path: dist/ + + - name: Publish distribution to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..8657735 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,41 @@ +name: Testing +on: + push: + branches: ["*"] + paths-ignore: + - 'docs/**' + - '*.rst' + tags-ignore: ["*"] +jobs: + test: + runs-on: ubuntu-latest + timeout-minutes: 5 + strategy: + matrix: + python: ["3.8", "3.9", "3.10", "3.11", "3.12"] + container: + image: python:${{ matrix.python }}-alpine + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Install testing dependencies + run: pip install --upgrade -r test-requirements.txt + + - name: Bootstrap + run: ./bootstrap.sh + + - name: Run unit tests + run: coverage run + + - name: Generate coverage report + run: coverage report && coverage xml + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v4 + with: + fail_ci_if_error: true + file: build/coverage.xml + flags: unittests + name: codecov-umbrella + token: ${{secrets.CODECOV_TOKEN}} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 965271a..0000000 --- a/.travis.yml +++ /dev/null @@ -1,28 +0,0 @@ -dist: focal -language: python -python: - - 3.8 - - 3.9 - - 3.10 - - 3.11 - - 3.12 -services: - - docker -install: - - pip install --upgrade -r test-requirements.txt -before_script: - - ./bootstrap.sh -script: coverage run -after_success: - - codecov - - CODECLIMATE_REPO_TOKEN=ed39a2c039a29b0965bfdd243fea7caba2a83a4945bbd69fe95f506066754bd1 codeclimate-test-reporter -deploy: - distributions: sdist bdist_wheel - provider: pypi - user: crad - on: - python: 3.12 - tags: true - all_branches: true - password: - secure: "ls9ja4J6bcirOvWVCvPAWboaOK6O0Pr/aZmHiifUYKEBqUg8D9PB7JyeXybMthXSx+jkHrFp6pL/IjYGrMYQ3gomZ+fsQTavNLxZxEHyLxDf7LVBxQ0KMNNh+GyF7qi9U749MlZBf9JgBFbAgnwCZRnlzCM8j7PxcFevYv4gouE=" From ff5a5c144a15674ea0d7d0696440bf260478c1ce Mon Sep 17 00:00:00 2001 From: Ryan Mclean Date: Wed, 5 Jun 2024 15:07:12 -0400 Subject: [PATCH 5/7] Update coverage and flake8 to support pyproject --- .github/workflows/test.yaml | 2 +- bootstrap.sh | 2 +- pyproject.toml | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 8657735..f977b2b 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -20,7 +20,7 @@ jobs: uses: actions/checkout@v4 - name: Install testing dependencies - run: pip install --upgrade -r test-requirements.txt + run: pip install -e '.[dev]' - name: Bootstrap run: ./bootstrap.sh diff --git a/bootstrap.sh b/bootstrap.sh index 3ec9994..b03a14f 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # # NAME # bootstrap -- initialize/update docker environment diff --git a/pyproject.toml b/pyproject.toml index 7f8ee2a..7ca5712 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,13 +30,14 @@ dependencies = [ [project.optional-dependencies] dev = [ "codecov", - "coverage", + "coverage[toml]", "mock", "flake8", "flake8-comprehensions", "flake8-deprecated", "flake8-html", "flake8-import-order", + "flake8-pyproject", "flake8-quotes", "flake8-rst-docstrings", "flake8-tuple", From 7dd7f4390153b57f188c6c38538679ed54ee84f4 Mon Sep 17 00:00:00 2001 From: Ryan Mclean Date: Mon, 10 Jun 2024 17:04:57 -0400 Subject: [PATCH 6/7] Fix github workflow action definitions Addressed some misconfigurations in the Github Actions yaml --- .github/workflows/test.yaml | 13 +++++++++---- bootstrap.sh | 10 +++++----- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index f977b2b..316019f 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -12,13 +12,18 @@ jobs: timeout-minutes: 5 strategy: matrix: - python: ["3.8", "3.9", "3.10", "3.11", "3.12"] - container: - image: python:${{ matrix.python }}-alpine + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + env: + TEST_HOST: docker steps: - name: Check out repository uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install testing dependencies run: pip install -e '.[dev]' @@ -35,7 +40,7 @@ jobs: uses: codecov/codecov-action@v4 with: fail_ci_if_error: true - file: build/coverage.xml + file: ./build/coverage.xml flags: unittests name: codecov-umbrella token: ${{secrets.CODECOV_TOKEN}} diff --git a/bootstrap.sh b/bootstrap.sh index b03a14f..13dad96 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -11,7 +11,7 @@ TEST_HOST=${TEST_HOST:-"127.0.0.1"} echo "Integration test host: ${TEST_HOST}" get_exposed_port() { - docker-compose port $1 $2 | cut -d: -f2 + docker compose port $1 $2 | cut -d: -f2 } wait_for() { @@ -47,13 +47,13 @@ fi mkdir -p build # Stop any running instances and clean up after them, then pull images -docker-compose down --volumes --remove-orphans -docker-compose pull -q -docker-compose up -d +docker compose down --volumes --remove-orphans +docker compose pull -q +docker compose up -d wait_for rabbitmq -docker-compose exec -T rabbitmq rabbitmqctl await_startup +docker compose exec -T rabbitmq rabbitmqctl await_startup cat > build/test-environment< Date: Tue, 3 Sep 2024 22:54:33 +0000 Subject: [PATCH 7/7] Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v3...v4.1.7) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- .github/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 3aa7e44..aabd16e 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -44,7 +44,7 @@ jobs: id-token: write steps: - name: Download all the dists - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4.1.7 with: name: python-package-distributions path: dist/