From 7ccbb33f84d2943f31560b02f1caec3aa8051e25 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sat, 6 Dec 2025 02:26:37 +0100 Subject: [PATCH] rename tox envs after fuse lib name Also: on freebsd, run tox env py311-mfusepy --- .github/workflows/ci.yml | 30 ++++++++++++++++-------------- Vagrantfile | 6 +++--- pyproject.toml | 32 ++++++++++++++++---------------- 3 files changed, 35 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f02525274..0f489aaef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -136,19 +136,19 @@ jobs: "include": [ {"os": "ubuntu-22.04", "python-version": "3.10", "toxenv": "mypy"}, {"os": "ubuntu-22.04", "python-version": "3.11", "toxenv": "docs"}, - {"os": "ubuntu-22.04", "python-version": "3.10", "toxenv": "py310-fuse2"}, - {"os": "ubuntu-24.04", "python-version": "3.14", "toxenv": "py314-fuse3"} + {"os": "ubuntu-22.04", "python-version": "3.10", "toxenv": "py310-llfuse"}, + {"os": "ubuntu-24.04", "python-version": "3.14", "toxenv": "py314-mfusepy"} ] }' || '{ "include": [ {"os": "ubuntu-22.04", "python-version": "3.10", "toxenv": "mypy"}, {"os": "ubuntu-22.04", "python-version": "3.11", "toxenv": "docs"}, - {"os": "ubuntu-22.04", "python-version": "3.10", "toxenv": "py310-fuse2"}, - {"os": "ubuntu-22.04", "python-version": "3.11", "toxenv": "py311-fuse2", "binary": "borg-linux-glibc235-x86_64-gh"}, - {"os": "ubuntu-22.04-arm", "python-version": "3.11", "toxenv": "py311-fuse2", "binary": "borg-linux-glibc235-arm64-gh"}, - {"os": "ubuntu-24.04", "python-version": "3.12", "toxenv": "py312-fuse3"}, - {"os": "ubuntu-24.04", "python-version": "3.13", "toxenv": "py313-fuse3"}, - {"os": "ubuntu-24.04", "python-version": "3.14", "toxenv": "py314-fuse3"}, + {"os": "ubuntu-22.04", "python-version": "3.10", "toxenv": "py310-llfuse"}, + {"os": "ubuntu-22.04", "python-version": "3.11", "toxenv": "py311-llfuse", "binary": "borg-linux-glibc235-x86_64-gh"}, + {"os": "ubuntu-22.04-arm", "python-version": "3.11", "toxenv": "py311-llfuse", "binary": "borg-linux-glibc235-arm64-gh"}, + {"os": "ubuntu-24.04", "python-version": "3.12", "toxenv": "py312-pyfuse3"}, + {"os": "ubuntu-24.04", "python-version": "3.13", "toxenv": "py313-pyfuse3"}, + {"os": "ubuntu-24.04", "python-version": "3.14", "toxenv": "py314-mfusepy"}, {"os": "macos-15-intel", "python-version": "3.11", "toxenv": "py311-none", "binary": "borg-macos-15-x86_64-gh"}, {"os": "macos-15", "python-version": "3.11", "toxenv": "py311-none", "binary": "borg-macos-15-arm64-gh"} ] @@ -190,9 +190,9 @@ jobs: sudo apt-get install -y libssl-dev libacl1-dev libxxhash-dev liblz4-dev libzstd-dev sudo apt-get install -y bash zsh fish # for shell completion tests sudo apt-get install -y rclone openssh-server curl - if [[ "$TOXENV" == *"fuse2"* ]]; then + if [[ "$TOXENV" == *"llfuse"* ]]; then sudo apt-get install -y libfuse-dev fuse # Required for Python llfuse module - elif [[ "$TOXENV" == *"fuse3"* ]]; then + elif [[ "$TOXENV" == *"pyfuse3"* || "$TOXENV" == *"mfusepy"* ]]; then sudo apt-get install -y libfuse3-dev fuse3 # Required for Python pyfuse3 module fi @@ -266,10 +266,12 @@ jobs: - name: Install borgbackup run: | - if [[ "$TOXENV" == *"fuse2"* ]]; then + if [[ "$TOXENV" == *"llfuse"* ]]; then pip install -ve ".[llfuse]" - elif [[ "$TOXENV" == *"fuse3"* ]]; then + elif [[ "$TOXENV" == *"pyfuse3"* ]]; then pip install -ve ".[pyfuse3]" + elif [[ "$TOXENV" == *"mfusepy"* ]]; then + pip install -ve ".[mfusepy]" else pip install -ve . fi @@ -423,8 +425,8 @@ jobs: pip -V python -m pip install --upgrade pip wheel pip install -r requirements.d/development.txt - pip install -e ".[llfuse]" - tox -e py311-fuse2 + pip install -e ".[mfusepy]" + tox -e py311-mfusepy if [[ "${{ matrix.do_binaries }}" == "true" && "${{ startsWith(github.ref, 'refs/tags/') }}" == "true" ]]; then python -m pip install 'pyinstaller==6.14.2' diff --git a/Vagrantfile b/Vagrantfile index ae8564936..2bec9f519 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -373,7 +373,7 @@ Vagrant.configure(2) do |config| b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg("llfuse") b.vm.provision "install pyinstaller", :type => :shell, :privileged => false, :inline => install_pyinstaller() b.vm.provision "build binary with pyinstaller", :type => :shell, :privileged => false, :inline => build_binary_with_pyinstaller("freebsd13") - b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("freebsd13", ".*(fuse3|none).*") + b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("freebsd13", ".*(pyfuse3|none).*") end config.vm.define "freebsd14" do |b| @@ -390,7 +390,7 @@ Vagrant.configure(2) do |config| b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg("llfuse") b.vm.provision "install pyinstaller", :type => :shell, :privileged => false, :inline => install_pyinstaller() b.vm.provision "build binary with pyinstaller", :type => :shell, :privileged => false, :inline => build_binary_with_pyinstaller("freebsd14") - b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("freebsd14", ".*(fuse3|none).*") + b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("freebsd14", ".*(pyfuse3|none).*") end config.vm.define "openbsd7" do |b| @@ -413,7 +413,7 @@ Vagrant.configure(2) do |config| b.vm.provision "fs init", :type => :shell, :inline => fs_init("vagrant") b.vm.provision "packages netbsd", :type => :shell, :inline => packages_netbsd b.vm.provision "build env", :type => :shell, :privileged => false, :inline => build_sys_venv("netbsd9") - b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg(false) + b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg("nofuse") b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("netbsd9", ".*fuse.*") end diff --git a/pyproject.toml b/pyproject.toml index 96025e97b..65c2d11a1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -167,7 +167,7 @@ ignore_missing_imports = true requires = ["tox>=4.19", "pkgconfig", "cython", "wheel", "setuptools_scm"] # Important: when adding/removing Python versions here, # also update the section "Test environments with different FUSE implementations" accordingly. -env_list = ["py{310,311,312,313,314}-{none,fuse2,fuse3,mfuse}", "docs", "ruff", "mypy", "bandit"] +env_list = ["py{310,311,312,313,314}-{none,llfuse,pyfuse3,mfusepy}", "docs", "ruff", "mypy", "bandit"] [tool.tox.env_run_base] package = "editable-legacy" # without this it does not find setup_docs when running under fakeroot @@ -181,71 +181,71 @@ pass_env = ["*"] # needed by tox4, so env vars are visible for building borg # Test environments with different FUSE implementations [tool.tox.env.py310-none] -[tool.tox.env.py310-fuse2] +[tool.tox.env.py310-llfuse] set_env = {BORG_FUSE_IMPL = "llfuse"} extras = ["llfuse", "sftp", "s3"] -[tool.tox.env.py310-fuse3] +[tool.tox.env.py310-pyfuse3] set_env = {BORG_FUSE_IMPL = "pyfuse3"} extras = ["pyfuse3", "sftp", "s3"] -[tool.tox.env.py310-mfuse] +[tool.tox.env.py310-mfusepy] set_env = {BORG_FUSE_IMPL = "mfusepy"} extras = ["mfusepy", "sftp", "s3"] [tool.tox.env.py311-none] -[tool.tox.env.py311-fuse2] +[tool.tox.env.py311-llfuse] set_env = {BORG_FUSE_IMPL = "llfuse"} extras = ["llfuse", "sftp", "s3"] -[tool.tox.env.py311-fuse3] +[tool.tox.env.py311-pyfuse3] set_env = {BORG_FUSE_IMPL = "pyfuse3"} extras = ["pyfuse3", "sftp", "s3"] -[tool.tox.env.py311-mfuse] +[tool.tox.env.py311-mfusepy] set_env = {BORG_FUSE_IMPL = "mfusepy"} extras = ["mfusepy", "sftp", "s3"] [tool.tox.env.py312-none] -[tool.tox.env.py312-fuse2] +[tool.tox.env.py312-llfuse] set_env = {BORG_FUSE_IMPL = "llfuse"} extras = ["llfuse", "sftp", "s3"] -[tool.tox.env.py312-fuse3] +[tool.tox.env.py312-pyfuse3] set_env = {BORG_FUSE_IMPL = "pyfuse3"} extras = ["pyfuse3", "sftp", "s3"] -[tool.tox.env.py312-mfuse] +[tool.tox.env.py312-mfusepy] set_env = {BORG_FUSE_IMPL = "mfusepy"} extras = ["mfusepy", "sftp", "s3"] [tool.tox.env.py313-none] -[tool.tox.env.py313-fuse2] +[tool.tox.env.py313-llfuse] set_env = {BORG_FUSE_IMPL = "llfuse"} extras = ["llfuse", "sftp", "s3"] -[tool.tox.env.py313-fuse3] +[tool.tox.env.py313-pyfuse3] set_env = {BORG_FUSE_IMPL = "pyfuse3"} extras = ["pyfuse3", "sftp", "s3"] -[tool.tox.env.py313-mfuse] +[tool.tox.env.py313-mfusepy] set_env = {BORG_FUSE_IMPL = "mfusepy"} extras = ["mfusepy", "sftp", "s3"] [tool.tox.env.py314-none] -[tool.tox.env.py314-fuse2] +[tool.tox.env.py314-llfuse] set_env = {BORG_FUSE_IMPL = "llfuse"} extras = ["llfuse", "sftp", "s3"] -[tool.tox.env.py314-fuse3] +[tool.tox.env.py314-pyfuse3] set_env = {BORG_FUSE_IMPL = "pyfuse3"} extras = ["pyfuse3", "sftp", "s3"] -[tool.tox.env.py314-mfuse] +[tool.tox.env.py314-mfusepy] set_env = {BORG_FUSE_IMPL = "mfusepy"} extras = ["mfusepy", "sftp", "s3"]