From 01621d3328ad88d821d7aa842b32adf1f115d46c Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Tue, 28 Oct 2025 20:32:27 +0530 Subject: [PATCH 1/8] yaml changes for new release test beta --- .github/workflows/publish-sdk.yml | 40 ++---------------- .github/workflows/publish-to-pypi.yml | 47 +++------------------ keepercli-package/requirements.txt | 3 +- keepercli-package/setup.cfg | 13 +++--- keepercli-package/src/keepercli/__init__.py | 2 +- keepersdk-package/setup.cfg | 17 ++++---- keepersdk-package/src/keepersdk/__init__.py | 2 +- 7 files changed, 29 insertions(+), 95 deletions(-) diff --git a/.github/workflows/publish-sdk.yml b/.github/workflows/publish-sdk.yml index 88844220..70676f35 100644 --- a/.github/workflows/publish-sdk.yml +++ b/.github/workflows/publish-sdk.yml @@ -25,48 +25,14 @@ jobs: - name: Archive the package uses: actions/upload-artifact@v3 with: - name: KeeperSdkWheel + name: SdkTestBetaWheel retention-days: 1 path: keepersdk-package/dist/* if-no-files-found: error - - name: Publish Commander to test PyPi + - name: Publish SdkTestBeta to test PyPi env: TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.TEST_PYPI_TOKEN }} + TWINE_PASSWORD: ${{ secrets.TEST_PYPI_BETA_TOKEN }} run: | twine upload -r testpypi dist/* - - - publish-pypi: - name: Publish Keeper SDK to PyPi - runs-on: ubuntu-latest - needs: [build-wheel] - environment: prod - - steps: - - uses: actions/download-artifact@v3 - with: - name: CommanderWheel - path: dist - - - name: Set up Python 3.10 - uses: actions/setup-python@v4 - with: - python-version: '3.11' - - - name: Retrieve secrets from Keeper - id: ksecrets - uses: Keeper-Security/ksm-action@master - with: - keeper-secret-config: ${{ secrets.KSM_COMMANDER_SECRET_CONFIG }} - secrets: | - gD5LOOhI5QbnSFk8mIg3gg/field/password > PYPI_PASSWORD - - - name: Publish to PyPi - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ steps.ksecrets.outputs.PYPI_PASSWORD }} - run: | - python -m pip install -U setuptools pip wheel twine - twine upload dist/* diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml index 6cd49350..b9785165 100644 --- a/.github/workflows/publish-to-pypi.yml +++ b/.github/workflows/publish-to-pypi.yml @@ -1,15 +1,15 @@ -name: Publish Commander to PyPi +name: Publish CLI to PyPi on: workflow_dispatch: inputs: version: - description: Version to release (Tag from Keeper-Security/keeper-sdk-pyton) + description: Version to release (Tag from Keeper-Security/keeper-sdk-python) required: true jobs: build-n-publish: - name: Build and publish Keeper SDK for Python đŸ“Ļ to PyPI + name: Build and publish Keeper CLI for Python đŸ“Ļ to TestPyPI runs-on: ubuntu-latest timeout-minutes: 25 # To keep builds from running too long @@ -31,49 +31,14 @@ jobs: - name: Archive the package uses: actions/upload-artifact@v3 with: - name: KeeperSdkWheel + name: CliTestBetaWheel retention-days: 1 path: dist/* if-no-files-found: error - - name: Publish Commander to test PyPi + - name: Publish CLI to test PyPi env: TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.TEST_PYPI_TOKEN }} + TWINE_PASSWORD: ${{ secrets.TEST_PYPI_BETA_TOKEN }} run: | twine upload -r testpypi dist/* - - - publish-pypi: - name: Publish Keeper SDK to PyPi - runs-on: ubuntu-latest - needs: [build-n-publish] - environment: prod - - steps: - - uses: actions/download-artifact@v3 - with: - name: CommanderWheel - path: dist - - - name: Set up Python 3.10 - uses: actions/setup-python@v4 - with: - python-version: '3.10' - architecture: 'x64' - - - name: Retrieve secrets from Keeper - id: ksecrets - uses: Keeper-Security/ksm-action@master - with: - keeper-secret-config: ${{ secrets.KSM_COMMANDER_SECRET_CONFIG }} - secrets: | - gD5LOOhI5QbnSFk8mIg3gg/field/password > PYPI_PASSWORD - - - name: Publish to PyPi - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ steps.ksecrets.outputs.PYPI_PASSWORD }} - run: | - python -m pip install -U setuptools pip wheel twine - twine upload dist/* diff --git a/keepercli-package/requirements.txt b/keepercli-package/requirements.txt index 96bd2998..ecedbe08 100644 --- a/keepercli-package/requirements.txt +++ b/keepercli-package/requirements.txt @@ -1,4 +1,3 @@ -keepersdk prompt-toolkit pyperclip tabulate @@ -9,3 +8,5 @@ pyobjc-framework-LocalAuthentication; sys_platform == "darwin" and python_versio winrt-runtime; sys_platform == "win32" winrt-Windows.Foundation; sys_platform == "win32" winrt-Windows.Security.Credentials.UI; sys_platform == "win32" +--extra-index-url https://test.pypi.org/simple/ +sdk-test-beta \ No newline at end of file diff --git a/keepercli-package/setup.cfg b/keepercli-package/setup.cfg index 877a1315..76aa994a 100644 --- a/keepercli-package/setup.cfg +++ b/keepercli-package/setup.cfg @@ -1,12 +1,12 @@ [metadata] -name = keepercli +name = cli-test-beta version = attr: keepercli.__init__.__version__ description = Keeper Commander for Python 3 long_description = file: README.md long_description_content_type = text/markdown -author = Keeper Security Inc. -author_email = commander@keepersecurity.com -url = https://github.com/Keeper-Security/keeper-sdk-python +author = Abdul Deshmukh +author_email = adeshmukh@keepersecurity.com +url = https://github.com/Keeper-Security/keeper-sdk-python/tree/deploy-test license = MIT classifiers = Environment :: Console @@ -15,7 +15,7 @@ classifiers = Operating System :: OS Independent Natural Language :: English Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.10 Topic :: Security keywords = security, password @@ -25,7 +25,6 @@ package_dir = = src include_package_data = True install_requires = - keepersdk prompt-toolkit pyperclip tabulate @@ -36,6 +35,8 @@ install_requires = winrt-runtime; sys_platform == "win32" winrt-Windows.Foundation; sys_platform == "win32" winrt-Windows.Security.Credentials.UI; sys_platform == "win32" + --extra-index-url https://test.pypi.org/simple/ + sdk-test-beta [options.package_data] keepercli = diff --git a/keepercli-package/src/keepercli/__init__.py b/keepercli-package/src/keepercli/__init__.py index b7c1ec0f..d213cfea 100644 --- a/keepercli-package/src/keepercli/__init__.py +++ b/keepercli-package/src/keepercli/__init__.py @@ -9,5 +9,5 @@ # Contact: commander@keepersecurity.com # -__version__ = '17.0.0' +__version__ = '18.0.0' diff --git a/keepersdk-package/setup.cfg b/keepersdk-package/setup.cfg index 4e06773c..9583c4c8 100644 --- a/keepersdk-package/setup.cfg +++ b/keepersdk-package/setup.cfg @@ -1,12 +1,12 @@ [metadata] -name = keepersdk +name = sdk-test-beta version = attr: keepersdk.__init__.__version__ description = Keeper SDK for Python 3 long_description = file: README.md long_description_content_type = text/markdown -author = Keeper Security Inc. -author_email = commander@keepersecurity.com -url = https://github.com/Keeper-Security/keeper-sdk-python +author = Abdul Deshmukh +author_email = adeshmukh@keepersecurity.com +url = https://github.com/Keeper-Security/keeper-sdk-python/tree/deploy-test license = MIT classifiers = Environment :: Console @@ -15,20 +15,21 @@ classifiers = Operating System :: OS Independent Natural Language :: English Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.10 Topic :: Security keywords = security, password [options] -python_requires = >=3.8 +python_requires = >=3.10 package_dir = = src include_package_data = True install_requires = attrs>=23.1.0 + certifi requests>=2.31.0 - cryptography>=40.0.0 - protobuf>=4.25.0 + cryptography>=41.0.7 + protobuf>=5.28.3 websockets>=12.0 fido2>=2.0.0; python_version>='3.10' diff --git a/keepersdk-package/src/keepersdk/__init__.py b/keepersdk-package/src/keepersdk/__init__.py index b3bbb4f3..2d547d35 100644 --- a/keepersdk-package/src/keepersdk/__init__.py +++ b/keepersdk-package/src/keepersdk/__init__.py @@ -10,6 +10,6 @@ # from . import background -__version__ = '0.9.10' +__version__ = '1.1.13' background.init() From 9b1455654f1b002eec9868b4e1c9450595a500ae Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Fri, 31 Oct 2025 18:15:48 +0530 Subject: [PATCH 2/8] added new workflows and updated version --- .github/workflows/codeql-analysis.yml | 67 ++++++++++++++++++++ .github/workflows/publish-cli-to-pypi.yml | 69 +++++++++++++++++++++ .github/workflows/publish-sdk.yml | 34 ++++++++-- .github/workflows/publish-to-pypi.yml | 44 ------------- .github/workflows/test-with-pytest.yml | 29 +++++++++ keepercli-package/requirements.txt | 5 +- keepercli-package/setup.cfg | 13 ++-- keepercli-package/src/keepercli/__init__.py | 2 +- keepersdk-package/setup.cfg | 17 +++-- keepersdk-package/src/keepersdk/__init__.py | 2 +- 10 files changed, 213 insertions(+), 69 deletions(-) create mode 100644 .github/workflows/codeql-analysis.yml create mode 100644 .github/workflows/publish-cli-to-pypi.yml delete mode 100644 .github/workflows/publish-to-pypi.yml create mode 100644 .github/workflows/test-with-pytest.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 00000000..b0c7d316 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,67 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ master ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ master ] + schedule: + - cron: '32 11 * * 1' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + language: [ 'python' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] + # Learn more: + # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 \ No newline at end of file diff --git a/.github/workflows/publish-cli-to-pypi.yml b/.github/workflows/publish-cli-to-pypi.yml new file mode 100644 index 00000000..423b5f0d --- /dev/null +++ b/.github/workflows/publish-cli-to-pypi.yml @@ -0,0 +1,69 @@ +name: Publish CLI to PyPi + +on: + workflow_dispatch: + inputs: + version: + description: Version to release (Tag from Keeper-Security/keeper-sdk-python) + required: true + +jobs: + build-n-publish: + name: Build and publish Keeper CLI for Python đŸ“Ļ to TestPyPI + runs-on: ubuntu-latest + timeout-minutes: 25 # To keep builds from running too long + + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Set up Python 3.11 + uses: actions/setup-python@v4 + with: + python-version: '3.11' + architecture: 'x64' + + - name: Build the package + run: | + python -m pip install -U setuptools pip build wheel twine + python -m build --wheel keepercli-package + + - name: Archive the package + uses: actions/upload-artifact@v3 + with: + name: KeeperCLIWheel + retention-days: 1 + path: keepercli-package/dist/* + if-no-files-found: error + + - name: Publish keepercli to test PyPi + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.TEST_PYPI_TOKEN }} + run: | + twine upload -r testpypi keepercli-package/dist/* + + publish-pypi: + name: Publish Keeper CLI to PyPi + runs-on: ubuntu-latest + needs: [build-wheel] + environment: prod + + steps: + - uses: actions/download-artifact@v3 + with: + name: KeeperCLIWheel + path: keepercli-package/dist + + - name: Set up Python 3.11 + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Publish keepercli to PyPi + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} + run: | + python -m pip install -U setuptools pip wheel twine + twine upload -r pypi keepercli-package/dist/* \ No newline at end of file diff --git a/.github/workflows/publish-sdk.yml b/.github/workflows/publish-sdk.yml index 70676f35..3a902fb1 100644 --- a/.github/workflows/publish-sdk.yml +++ b/.github/workflows/publish-sdk.yml @@ -25,14 +25,40 @@ jobs: - name: Archive the package uses: actions/upload-artifact@v3 with: - name: SdkTestBetaWheel + name: KeeperSdkWheel retention-days: 1 path: keepersdk-package/dist/* if-no-files-found: error - - name: Publish SdkTestBeta to test PyPi + - name: Publish KeeperSdk to test PyPi env: TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.TEST_PYPI_BETA_TOKEN }} + TWINE_PASSWORD: ${{ secrets.TEST_PYPI_TOKEN }} run: | - twine upload -r testpypi dist/* + twine upload -r testpypi keepersdk-package/dist/* + + + publish-pypi: + name: Publish Keeper SDK to PyPi + runs-on: ubuntu-latest + needs: [build-wheel] + environment: prod + + steps: + - uses: actions/download-artifact@v3 + with: + name: KeeperSdkWheel + path: keepersdk-package/dist + + - name: Set up Python 3.11 + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Publish keepersdk to PyPi + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} + run: | + python -m pip install -U setuptools pip wheel twine + twine upload -r pypi keepersdk-package/dist/* \ No newline at end of file diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml deleted file mode 100644 index b9785165..00000000 --- a/.github/workflows/publish-to-pypi.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Publish CLI to PyPi - -on: - workflow_dispatch: - inputs: - version: - description: Version to release (Tag from Keeper-Security/keeper-sdk-python) - required: true - -jobs: - build-n-publish: - name: Build and publish Keeper CLI for Python đŸ“Ļ to TestPyPI - runs-on: ubuntu-latest - timeout-minutes: 25 # To keep builds from running too long - - steps: - - name: Checkout source code - uses: actions/checkout@v2 - - - name: Set up Python 3.10 - uses: actions/setup-python@v4 - with: - python-version: '3.10' - architecture: 'x64' - - - name: Build the package - run: | - python -m pip install -U setuptools pip build wheel twine - python -m build --wheel - - - name: Archive the package - uses: actions/upload-artifact@v3 - with: - name: CliTestBetaWheel - retention-days: 1 - path: dist/* - if-no-files-found: error - - - name: Publish CLI to test PyPi - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.TEST_PYPI_BETA_TOKEN }} - run: | - twine upload -r testpypi dist/* diff --git a/.github/workflows/test-with-pytest.yml b/.github/workflows/test-with-pytest.yml new file mode 100644 index 00000000..6154ca02 --- /dev/null +++ b/.github/workflows/test-with-pytest.yml @@ -0,0 +1,29 @@ +name: Test with pytest + +on: [pull_request, workflow_dispatch] + +env: + PYTHONUNBUFFERED: 1 + +jobs: + test-with-pytest: + strategy: + matrix: + python-version: ['3.7', '3.12'] + + runs-on: ubuntu-22.04 + + steps: + - name: Checkout branch + uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Install package with test dependencies + run: pip install .[test] + + - name: Run unit tests + run: pytest keepersdk-package/unit_tests/ \ No newline at end of file diff --git a/keepercli-package/requirements.txt b/keepercli-package/requirements.txt index ecedbe08..8ff4ffbc 100644 --- a/keepercli-package/requirements.txt +++ b/keepercli-package/requirements.txt @@ -1,3 +1,4 @@ +keepersdk prompt-toolkit pyperclip tabulate @@ -7,6 +8,4 @@ cbor2; sys_platform == "darwin" and python_version>='3.10' pyobjc-framework-LocalAuthentication; sys_platform == "darwin" and python_version>='3.10' winrt-runtime; sys_platform == "win32" winrt-Windows.Foundation; sys_platform == "win32" -winrt-Windows.Security.Credentials.UI; sys_platform == "win32" ---extra-index-url https://test.pypi.org/simple/ -sdk-test-beta \ No newline at end of file +winrt-Windows.Security.Credentials.UI; sys_platform == "win32" \ No newline at end of file diff --git a/keepercli-package/setup.cfg b/keepercli-package/setup.cfg index 76aa994a..877a1315 100644 --- a/keepercli-package/setup.cfg +++ b/keepercli-package/setup.cfg @@ -1,12 +1,12 @@ [metadata] -name = cli-test-beta +name = keepercli version = attr: keepercli.__init__.__version__ description = Keeper Commander for Python 3 long_description = file: README.md long_description_content_type = text/markdown -author = Abdul Deshmukh -author_email = adeshmukh@keepersecurity.com -url = https://github.com/Keeper-Security/keeper-sdk-python/tree/deploy-test +author = Keeper Security Inc. +author_email = commander@keepersecurity.com +url = https://github.com/Keeper-Security/keeper-sdk-python license = MIT classifiers = Environment :: Console @@ -15,7 +15,7 @@ classifiers = Operating System :: OS Independent Natural Language :: English Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.8 Topic :: Security keywords = security, password @@ -25,6 +25,7 @@ package_dir = = src include_package_data = True install_requires = + keepersdk prompt-toolkit pyperclip tabulate @@ -35,8 +36,6 @@ install_requires = winrt-runtime; sys_platform == "win32" winrt-Windows.Foundation; sys_platform == "win32" winrt-Windows.Security.Credentials.UI; sys_platform == "win32" - --extra-index-url https://test.pypi.org/simple/ - sdk-test-beta [options.package_data] keepercli = diff --git a/keepercli-package/src/keepercli/__init__.py b/keepercli-package/src/keepercli/__init__.py index d213cfea..ed970410 100644 --- a/keepercli-package/src/keepercli/__init__.py +++ b/keepercli-package/src/keepercli/__init__.py @@ -9,5 +9,5 @@ # Contact: commander@keepersecurity.com # -__version__ = '18.0.0' +__version__ = '1.0.0-beta.1' diff --git a/keepersdk-package/setup.cfg b/keepersdk-package/setup.cfg index 9583c4c8..4e06773c 100644 --- a/keepersdk-package/setup.cfg +++ b/keepersdk-package/setup.cfg @@ -1,12 +1,12 @@ [metadata] -name = sdk-test-beta +name = keepersdk version = attr: keepersdk.__init__.__version__ description = Keeper SDK for Python 3 long_description = file: README.md long_description_content_type = text/markdown -author = Abdul Deshmukh -author_email = adeshmukh@keepersecurity.com -url = https://github.com/Keeper-Security/keeper-sdk-python/tree/deploy-test +author = Keeper Security Inc. +author_email = commander@keepersecurity.com +url = https://github.com/Keeper-Security/keeper-sdk-python license = MIT classifiers = Environment :: Console @@ -15,21 +15,20 @@ classifiers = Operating System :: OS Independent Natural Language :: English Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.8 Topic :: Security keywords = security, password [options] -python_requires = >=3.10 +python_requires = >=3.8 package_dir = = src include_package_data = True install_requires = attrs>=23.1.0 - certifi requests>=2.31.0 - cryptography>=41.0.7 - protobuf>=5.28.3 + cryptography>=40.0.0 + protobuf>=4.25.0 websockets>=12.0 fido2>=2.0.0; python_version>='3.10' diff --git a/keepersdk-package/src/keepersdk/__init__.py b/keepersdk-package/src/keepersdk/__init__.py index 2d547d35..14dfe570 100644 --- a/keepersdk-package/src/keepersdk/__init__.py +++ b/keepersdk-package/src/keepersdk/__init__.py @@ -10,6 +10,6 @@ # from . import background -__version__ = '1.1.13' +__version__ = '0.9.10-beta.1' background.init() From adcb262a591fefbc269a89d559feada1eaea959b Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Fri, 31 Oct 2025 18:17:56 +0530 Subject: [PATCH 3/8] corrected step --- .github/workflows/publish-cli-to-pypi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-cli-to-pypi.yml b/.github/workflows/publish-cli-to-pypi.yml index 423b5f0d..79177ef9 100644 --- a/.github/workflows/publish-cli-to-pypi.yml +++ b/.github/workflows/publish-cli-to-pypi.yml @@ -46,7 +46,7 @@ jobs: publish-pypi: name: Publish Keeper CLI to PyPi runs-on: ubuntu-latest - needs: [build-wheel] + needs: [build-n-publish] environment: prod steps: From f443b0424908eee772ba7534a9bcf1d55ac0adbe Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Fri, 31 Oct 2025 18:23:53 +0530 Subject: [PATCH 4/8] corrected token --- .github/workflows/publish-cli-to-pypi.yml | 2 +- .github/workflows/publish-sdk.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-cli-to-pypi.yml b/.github/workflows/publish-cli-to-pypi.yml index 79177ef9..031be547 100644 --- a/.github/workflows/publish-cli-to-pypi.yml +++ b/.github/workflows/publish-cli-to-pypi.yml @@ -63,7 +63,7 @@ jobs: - name: Publish keepercli to PyPi env: TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} + TWINE_PASSWORD: ${{ secrets.PYPI_PUBLISH_TOKEN }} run: | python -m pip install -U setuptools pip wheel twine twine upload -r pypi keepercli-package/dist/* \ No newline at end of file diff --git a/.github/workflows/publish-sdk.yml b/.github/workflows/publish-sdk.yml index 3a902fb1..864bb700 100644 --- a/.github/workflows/publish-sdk.yml +++ b/.github/workflows/publish-sdk.yml @@ -58,7 +58,7 @@ jobs: - name: Publish keepersdk to PyPi env: TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} + TWINE_PASSWORD: ${{ secrets.PYPI_PUBLISH_TOKEN }} run: | python -m pip install -U setuptools pip wheel twine twine upload -r pypi keepersdk-package/dist/* \ No newline at end of file From 1fe12ef6e588047642483ac0c263423500824443 Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Fri, 31 Oct 2025 18:28:53 +0530 Subject: [PATCH 5/8] corrected test dependency --- .github/workflows/test-with-pytest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-with-pytest.yml b/.github/workflows/test-with-pytest.yml index 6154ca02..90709f1a 100644 --- a/.github/workflows/test-with-pytest.yml +++ b/.github/workflows/test-with-pytest.yml @@ -23,7 +23,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install package with test dependencies - run: pip install .[test] + run: pip install pytest - name: Run unit tests run: pytest keepersdk-package/unit_tests/ \ No newline at end of file From e1e9feeac0503e607cdd26ed67e65c6fb821b600 Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Fri, 31 Oct 2025 18:37:09 +0530 Subject: [PATCH 6/8] review comments addressed --- .github/workflows/publish-cli-to-pypi.yml | 2 +- keepercli-package/src/keepercli/__init__.py | 2 +- keepersdk-package/src/keepersdk/__init__.py | 2 +- keepersdk-package/unit_tests/test_ksm_management.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-cli-to-pypi.yml b/.github/workflows/publish-cli-to-pypi.yml index 031be547..c8be43ee 100644 --- a/.github/workflows/publish-cli-to-pypi.yml +++ b/.github/workflows/publish-cli-to-pypi.yml @@ -9,7 +9,7 @@ on: jobs: build-n-publish: - name: Build and publish Keeper CLI for Python đŸ“Ļ to TestPyPI + name: Build and publish Keeper CLI for Python to TestPyPI runs-on: ubuntu-latest timeout-minutes: 25 # To keep builds from running too long diff --git a/keepercli-package/src/keepercli/__init__.py b/keepercli-package/src/keepercli/__init__.py index ed970410..6bd77a3d 100644 --- a/keepercli-package/src/keepercli/__init__.py +++ b/keepercli-package/src/keepercli/__init__.py @@ -9,5 +9,5 @@ # Contact: commander@keepersecurity.com # -__version__ = '1.0.0-beta.1' +__version__ = '1.0.0-beta01' diff --git a/keepersdk-package/src/keepersdk/__init__.py b/keepersdk-package/src/keepersdk/__init__.py index 14dfe570..f5da3aa1 100644 --- a/keepersdk-package/src/keepersdk/__init__.py +++ b/keepersdk-package/src/keepersdk/__init__.py @@ -10,6 +10,6 @@ # from . import background -__version__ = '0.9.10-beta.1' +__version__ = '0.9.10-beta01' background.init() diff --git a/keepersdk-package/unit_tests/test_ksm_management.py b/keepersdk-package/unit_tests/test_ksm_management.py index 69789595..7bc0d9c8 100644 --- a/keepersdk-package/unit_tests/test_ksm_management.py +++ b/keepersdk-package/unit_tests/test_ksm_management.py @@ -226,7 +226,7 @@ def test_create_app_duplicate_raises(self): self.vault.vault_data.records.return_value = [mock_record] with self.assertRaises(ValueError) as cm: ksm_management.create_secrets_manager_app(self.vault, 'TestApp') - self.assertEqual(str(cm.exception), 'Application with the same name TestApp already exists.') + self.assertEqual(str(cm.exception), 'Application with the same name TestApp already exists. Set force to true to add Application with same name') def test_create_app_duplicate_force_add(self): mock_record = MagicMock(title='TestApp') From 6bea27ca9d4ac4f80c1d53b82fd23785d8a68a7c Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Fri, 31 Oct 2025 18:38:34 +0530 Subject: [PATCH 7/8] test case dependency added --- .github/workflows/test-with-pytest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-with-pytest.yml b/.github/workflows/test-with-pytest.yml index 90709f1a..9594ab6e 100644 --- a/.github/workflows/test-with-pytest.yml +++ b/.github/workflows/test-with-pytest.yml @@ -23,7 +23,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install package with test dependencies - run: pip install pytest + run: pip install pytest keepersdk - name: Run unit tests run: pytest keepersdk-package/unit_tests/ \ No newline at end of file From 5df3e6c0b1f57821183bf1f263e377e1e51ecd10 Mon Sep 17 00:00:00 2001 From: adeshmukh-ks Date: Fri, 31 Oct 2025 18:40:17 +0530 Subject: [PATCH 8/8] version correction --- .github/workflows/test-with-pytest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-with-pytest.yml b/.github/workflows/test-with-pytest.yml index 9594ab6e..26835b6f 100644 --- a/.github/workflows/test-with-pytest.yml +++ b/.github/workflows/test-with-pytest.yml @@ -9,7 +9,7 @@ jobs: test-with-pytest: strategy: matrix: - python-version: ['3.7', '3.12'] + python-version: ['3.8', '3.12'] runs-on: ubuntu-22.04