Loading .gitlab-ci.yml +73 −3 Original line number Diff line number Diff line Loading @@ -2,12 +2,18 @@ default: image: debian:latest before_script: | apt-get update apt-get install -y curl git build-essential rclone apt-get install -y curl git build-essential rclone jq curl -fsSL https://pixi.sh/install.sh | bash export PATH=$PATH:/root/.pixi/bin curl -L https://coveralls.io/coveralls-linux.tar.gz | tar -xz -C /usr/local/bin stages: - test - build - deploy test: stage: test script: | pixi run ruff_ci pixi run test Loading @@ -15,3 +21,67 @@ test: rules: - if: $CI_MERGE_REQUEST_ID - if: $CI_COMMIT_BRANCH == 'main' - if: $CI_COMMIT_TAG build: stage: build dependencies: - test script: | pixi run build rules: - if: $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+\.dev[0-9]+$/ - if: $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/ - if: $CI_MERGE_REQUEST_ID - if: $CI_COMMIT_BRANCH == 'main' artifacts: paths: - dist/ publish-test: stage: deploy dependencies: - build id_tokens: TESTPYPI_ID_TOKEN: # Use "testpypi" if uploading to TestPyPI aud: testpypi script: - oidc_token=$(pixi run python -m id TESTPYPI) - echo "${oidc_token}" # Replace "https://pypi.org/*" with "https://test.pypi.org/*" if uploading to TestPyPI - resp=$(curl -X POST https://test.pypi.org/_/oidc/mint-token -d "{\"token\":\"${oidc_token}\"}") - echo "${resp}" - api_token=$(jq --raw-output '.token' <<< "${resp}") - echo "${api_token}" - pixi run hatch -v publish --repo test --user __token__ --auth "${api_token}" rules: - if: $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+\.dev[0-9]+$/ environment: name: pypi staging publish: stage: deploy dependencies: - build id_tokens: PYPI_ID_TOKEN: aud: pypi script: - oidc_token=$(pixi run python -m id PYPI) - echo "${oidc_token}" # Replace "https://pypi.org/*" with "https://test.pypi.org/*" if uploading to TestPyPI - resp=$(curl -X POST https://pypi.org/_/oidc/mint-token -d "{\"token\":\"${oidc_token}\"}") - echo "${resp}" - api_token=$(jq --raw-output '.token' <<< "${resp}") - echo "${api_token}" - pixi run hatch -v publish --user __token__ --auth "${api_token}" rules: - if: $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/ environment: name: pypi No newline at end of file pixi.lock +54 −1 Original line number Diff line number Diff line Loading @@ -139,13 +139,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.19.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.22.0-py312h5b18bf6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e0/44/827b2a91a5816512fcaf3cc4ebc465ccd5d598c45cefa6703fcf4a79018f/attrs-23.2.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/51/b4/51f8a8110319adbe8ef25ba63c4069511ba4474014abdf644afa1adbba31/attrs_strict-1.0.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/97/00/21e34b365b895e6faf9cc5d4e7b97dd419e08f8a7df119792ec206b4a3fa/bcrypt-4.1.3-cp39-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/b3/0d/cd4a4071c7f38385dc5ba91286723b4d1090b87815db48216212c6c6c30e/cattrs-23.2.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ee/fb/14d30eb4956408ee3ae09ad34299131fb383c47df355ddb428a7331cfa1e/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/02/fa/08afa3775e935dca3ae78ed77ac3d54d10eddc103074a64805b7412792ad/id-1.4.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ad/50/8792484502c8141c20c996b802fefa8435a9c018a2bb440a06b172782118/paramiko-3.4.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/fa/b7f815b8c9ad021c07f88875b601222ef5e70619391ade4a49234d12d278/pydantic-2.8.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/09/b3/a5a54b47cccd1ab661ed5775235c5e06924753c2d4817737c5667bfa19a8/pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl - pypi: https://files.pythonhosted.org/packages/5c/07/a66ce67849514133361887636e0ca187e894bca241686adedd414a06cb50/pytest_sftpserver-1.3.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/77/60/85b2a3377104f582ee34299a6ca54187bb6a8deb769baab3010c3a708eff/python_gitlab-4.7.0-py3-none-any.whl Loading Loading @@ -188,6 +192,14 @@ packages: purls: [] size: 23621 timestamp: 1650670423406 - kind: pypi name: annotated-types version: 0.7.0 url: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl sha256: 1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 requires_dist: - typing-extensions>=4.0.0 ; python_version < '3.9' requires_python: '>=3.8' - kind: conda name: anyio version: 4.4.0 Loading Loading @@ -913,6 +925,27 @@ packages: - pkg:pypi/hyperlink?source=conda-forge-mapping size: 72732 timestamp: 1610092261086 - kind: pypi name: id version: 1.4.0 url: https://files.pythonhosted.org/packages/02/fa/08afa3775e935dca3ae78ed77ac3d54d10eddc103074a64805b7412792ad/id-1.4.0-py3-none-any.whl sha256: a0391117c98fa9851ebd2b22df0dc6fd6aacbd89a4ec95c173f1311ca9bb7329 requires_dist: - pydantic - requests - build ; extra == 'dev' - bump>=1.3.2 ; extra == 'dev' - id[test,lint] ; extra == 'dev' - bandit ; extra == 'lint' - interrogate ; extra == 'lint' - mypy ; extra == 'lint' - ruff<0.4.2 ; extra == 'lint' - types-requests ; extra == 'lint' - pytest ; extra == 'test' - pytest-cov ; extra == 'test' - pretend ; extra == 'test' - coverage[toml] ; extra == 'test' requires_python: '>=3.8' - kind: conda name: identify version: 2.6.0 Loading Loading @@ -1817,7 +1850,7 @@ packages: name: plus-sync version: 0.2.0.dev0 path: . sha256: f85324734066f914625d0d9fcf1b2ac25ee1b2936d047903099be3f9e61ca7c1 sha256: d22744485412952d17036c2f7d0e69f5fb20f19c798675ba55e13fa3f415c67d requires_dist: - attrs - attrs-strict Loading Loading @@ -1941,6 +1974,26 @@ packages: - pkg:pypi/pycparser?source=conda-forge-mapping size: 105098 timestamp: 1711811634025 - kind: pypi name: pydantic version: 2.8.2 url: https://files.pythonhosted.org/packages/1f/fa/b7f815b8c9ad021c07f88875b601222ef5e70619391ade4a49234d12d278/pydantic-2.8.2-py3-none-any.whl sha256: 73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8 requires_dist: - annotated-types>=0.4.0 - pydantic-core==2.20.1 - typing-extensions>=4.12.2 ; python_version >= '3.13' - typing-extensions>=4.6.1 ; python_version < '3.13' - email-validator>=2.0.0 ; extra == 'email' requires_python: '>=3.8' - kind: pypi name: pydantic-core version: 2.20.1 url: https://files.pythonhosted.org/packages/09/b3/a5a54b47cccd1ab661ed5775235c5e06924753c2d4817737c5667bfa19a8/pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl sha256: 26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e requires_dist: - typing-extensions>=4.6.0,!=4.7.0 requires_python: '>=3.8' - kind: conda name: pygments version: 2.18.0 Loading plus_sync/__version__.py +1 −1 Original line number Diff line number Diff line __version__ = '0.2.0.dev0' __version__ = '0.2.1' pyproject.toml +1 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ platforms = ["linux-64"] [tool.pixi.pypi-dependencies] plus_sync = { path = ".", editable = true } pytest-sftpserver = "*" id = "*" [tool.pixi.tasks] test = "pytest --cov=plus_sync --cov-report=lcov" Loading Loading
.gitlab-ci.yml +73 −3 Original line number Diff line number Diff line Loading @@ -2,12 +2,18 @@ default: image: debian:latest before_script: | apt-get update apt-get install -y curl git build-essential rclone apt-get install -y curl git build-essential rclone jq curl -fsSL https://pixi.sh/install.sh | bash export PATH=$PATH:/root/.pixi/bin curl -L https://coveralls.io/coveralls-linux.tar.gz | tar -xz -C /usr/local/bin stages: - test - build - deploy test: stage: test script: | pixi run ruff_ci pixi run test Loading @@ -15,3 +21,67 @@ test: rules: - if: $CI_MERGE_REQUEST_ID - if: $CI_COMMIT_BRANCH == 'main' - if: $CI_COMMIT_TAG build: stage: build dependencies: - test script: | pixi run build rules: - if: $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+\.dev[0-9]+$/ - if: $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/ - if: $CI_MERGE_REQUEST_ID - if: $CI_COMMIT_BRANCH == 'main' artifacts: paths: - dist/ publish-test: stage: deploy dependencies: - build id_tokens: TESTPYPI_ID_TOKEN: # Use "testpypi" if uploading to TestPyPI aud: testpypi script: - oidc_token=$(pixi run python -m id TESTPYPI) - echo "${oidc_token}" # Replace "https://pypi.org/*" with "https://test.pypi.org/*" if uploading to TestPyPI - resp=$(curl -X POST https://test.pypi.org/_/oidc/mint-token -d "{\"token\":\"${oidc_token}\"}") - echo "${resp}" - api_token=$(jq --raw-output '.token' <<< "${resp}") - echo "${api_token}" - pixi run hatch -v publish --repo test --user __token__ --auth "${api_token}" rules: - if: $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+\.dev[0-9]+$/ environment: name: pypi staging publish: stage: deploy dependencies: - build id_tokens: PYPI_ID_TOKEN: aud: pypi script: - oidc_token=$(pixi run python -m id PYPI) - echo "${oidc_token}" # Replace "https://pypi.org/*" with "https://test.pypi.org/*" if uploading to TestPyPI - resp=$(curl -X POST https://pypi.org/_/oidc/mint-token -d "{\"token\":\"${oidc_token}\"}") - echo "${resp}" - api_token=$(jq --raw-output '.token' <<< "${resp}") - echo "${api_token}" - pixi run hatch -v publish --user __token__ --auth "${api_token}" rules: - if: $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/ environment: name: pypi No newline at end of file
pixi.lock +54 −1 Original line number Diff line number Diff line Loading @@ -139,13 +139,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.19.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.22.0-py312h5b18bf6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e0/44/827b2a91a5816512fcaf3cc4ebc465ccd5d598c45cefa6703fcf4a79018f/attrs-23.2.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/51/b4/51f8a8110319adbe8ef25ba63c4069511ba4474014abdf644afa1adbba31/attrs_strict-1.0.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/97/00/21e34b365b895e6faf9cc5d4e7b97dd419e08f8a7df119792ec206b4a3fa/bcrypt-4.1.3-cp39-abi3-manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/b3/0d/cd4a4071c7f38385dc5ba91286723b4d1090b87815db48216212c6c6c30e/cattrs-23.2.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ee/fb/14d30eb4956408ee3ae09ad34299131fb383c47df355ddb428a7331cfa1e/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/02/fa/08afa3775e935dca3ae78ed77ac3d54d10eddc103074a64805b7412792ad/id-1.4.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ad/50/8792484502c8141c20c996b802fefa8435a9c018a2bb440a06b172782118/paramiko-3.4.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1f/fa/b7f815b8c9ad021c07f88875b601222ef5e70619391ade4a49234d12d278/pydantic-2.8.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/09/b3/a5a54b47cccd1ab661ed5775235c5e06924753c2d4817737c5667bfa19a8/pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl - pypi: https://files.pythonhosted.org/packages/5c/07/a66ce67849514133361887636e0ca187e894bca241686adedd414a06cb50/pytest_sftpserver-1.3.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/77/60/85b2a3377104f582ee34299a6ca54187bb6a8deb769baab3010c3a708eff/python_gitlab-4.7.0-py3-none-any.whl Loading Loading @@ -188,6 +192,14 @@ packages: purls: [] size: 23621 timestamp: 1650670423406 - kind: pypi name: annotated-types version: 0.7.0 url: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl sha256: 1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 requires_dist: - typing-extensions>=4.0.0 ; python_version < '3.9' requires_python: '>=3.8' - kind: conda name: anyio version: 4.4.0 Loading Loading @@ -913,6 +925,27 @@ packages: - pkg:pypi/hyperlink?source=conda-forge-mapping size: 72732 timestamp: 1610092261086 - kind: pypi name: id version: 1.4.0 url: https://files.pythonhosted.org/packages/02/fa/08afa3775e935dca3ae78ed77ac3d54d10eddc103074a64805b7412792ad/id-1.4.0-py3-none-any.whl sha256: a0391117c98fa9851ebd2b22df0dc6fd6aacbd89a4ec95c173f1311ca9bb7329 requires_dist: - pydantic - requests - build ; extra == 'dev' - bump>=1.3.2 ; extra == 'dev' - id[test,lint] ; extra == 'dev' - bandit ; extra == 'lint' - interrogate ; extra == 'lint' - mypy ; extra == 'lint' - ruff<0.4.2 ; extra == 'lint' - types-requests ; extra == 'lint' - pytest ; extra == 'test' - pytest-cov ; extra == 'test' - pretend ; extra == 'test' - coverage[toml] ; extra == 'test' requires_python: '>=3.8' - kind: conda name: identify version: 2.6.0 Loading Loading @@ -1817,7 +1850,7 @@ packages: name: plus-sync version: 0.2.0.dev0 path: . sha256: f85324734066f914625d0d9fcf1b2ac25ee1b2936d047903099be3f9e61ca7c1 sha256: d22744485412952d17036c2f7d0e69f5fb20f19c798675ba55e13fa3f415c67d requires_dist: - attrs - attrs-strict Loading Loading @@ -1941,6 +1974,26 @@ packages: - pkg:pypi/pycparser?source=conda-forge-mapping size: 105098 timestamp: 1711811634025 - kind: pypi name: pydantic version: 2.8.2 url: https://files.pythonhosted.org/packages/1f/fa/b7f815b8c9ad021c07f88875b601222ef5e70619391ade4a49234d12d278/pydantic-2.8.2-py3-none-any.whl sha256: 73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8 requires_dist: - annotated-types>=0.4.0 - pydantic-core==2.20.1 - typing-extensions>=4.12.2 ; python_version >= '3.13' - typing-extensions>=4.6.1 ; python_version < '3.13' - email-validator>=2.0.0 ; extra == 'email' requires_python: '>=3.8' - kind: pypi name: pydantic-core version: 2.20.1 url: https://files.pythonhosted.org/packages/09/b3/a5a54b47cccd1ab661ed5775235c5e06924753c2d4817737c5667bfa19a8/pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl sha256: 26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e requires_dist: - typing-extensions>=4.6.0,!=4.7.0 requires_python: '>=3.8' - kind: conda name: pygments version: 2.18.0 Loading
plus_sync/__version__.py +1 −1 Original line number Diff line number Diff line __version__ = '0.2.0.dev0' __version__ = '0.2.1'
pyproject.toml +1 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ platforms = ["linux-64"] [tool.pixi.pypi-dependencies] plus_sync = { path = ".", editable = true } pytest-sftpserver = "*" id = "*" [tool.pixi.tasks] test = "pytest --cov=plus_sync --cov-report=lcov" Loading