Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
#
# Copyright (c) 2026 by Delphix. All rights reserved.
#

[bumpversion]
current_version = 5.0.1
current_version = 5.1.0
commit = False
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+)(?P<dev>\d+))?
Expand All @@ -17,15 +21,17 @@ values =

[bumpversion:part:dev]

[bumpversion:file:./dvp/src/main/python/dlpx/virtualization/VERSION]
# Each pyproject.toml's [project].version and sibling-package pins are matched
# by the default {current_version} search; both get updated atomically.
[bumpversion:file:./common/pyproject.toml]

[bumpversion:file:./common/src/main/python/dlpx/virtualization/common/VERSION]
[bumpversion:file:./dvp/pyproject.toml]

[bumpversion:file:./platform/src/main/python/dlpx/virtualization/platform/VERSION]
[bumpversion:file:./libs/pyproject.toml]

[bumpversion:file:./libs/src/main/python/dlpx/virtualization/libs/VERSION]
[bumpversion:file:./platform/pyproject.toml]

[bumpversion:file:./tools/src/main/python/dlpx/virtualization/_internal/VERSION]
[bumpversion:file:./tools/pyproject.toml]

[bumpversion:file:./tools/src/test/python/dlpx/virtualization/_internal/test_package_util.py]
search = DVP_VERSION = '{current_version}'
Expand Down
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
#
# Copyright (c) 2026 by Delphix. All rights reserved.
#

version: 2
updates:
- package-ecosystem: pip
Expand Down
74 changes: 45 additions & 29 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2020, 2022 by Delphix. All rights reserved.
# Copyright (c) 2020, 2026 by Delphix. All rights reserved.
#

name: "Pre-commit actions for Delphix Virtualization SDK"
Expand All @@ -14,53 +14,69 @@ on:

jobs:
pytest311:
name: Test ${{ matrix.package }} on ${{ matrix.os }} using pytest (Python 3.11)
name: Test SDK on ${{ matrix.os }} (Python ${{ matrix.python-version }})
runs-on: ${{ matrix.os }}
strategy:
max-parallel: 4
max-parallel: 3
matrix:
python-version: [ 3.11 ]
os: [ ubuntu-latest, macos-latest, windows-latest ]
package: [ common, libs, platform, tools ]

steps:
- name: Checkout ${{ matrix.package }} project
uses: actions/checkout@v3
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install ${{ matrix.package }} dependencies
working-directory: ${{ matrix.package }}
# Install all SDK packages once, in dependency order. Sibling packages
# need to be present in the env before subsequent installs can resolve
# their PEP 621 pins (e.g. dvp-libs needs dvp-common already installed).
- name: Install SDK packages
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt --find-links https://test.pypi.org/simple/dvp-api/
pip install -e "./common[dev]" --find-links https://test.pypi.org/simple/dvp-api/
pip install -e "./libs[dev]" --find-links https://test.pypi.org/simple/dvp-api/
pip install -e "./platform[dev]" --find-links https://test.pypi.org/simple/dvp-api/
pip install -e "./tools[dev]" --find-links https://test.pypi.org/simple/dvp-api/

- name: Install ${{ matrix.package }} project
working-directory: ${{ matrix.package }}
run: |
pip install . --find-links https://test.pypi.org/simple/dvp-api/
- name: Test common
run: python -m pytest ./common/src/test/python

# Run all the test cases part of the package.
- name: Test ${{ matrix.package }} project with pytest
working-directory: ${{ matrix.package }}
run: |
python -m pytest src/test/python
- name: Test libs
run: python -m pytest ./libs/src/test/python

- name: Test platform
run: python -m pytest ./platform/src/test/python

- name: Test tools
run: python -m pytest ./tools/src/test/python

# Install flake8 and run linting on src and test for linting if OS is ubuntu.
- name: Install flake8
if: ${{ matrix.os == 'ubuntu-latest' }}
if: matrix.os == 'ubuntu-latest'
run: pip install flake8

- name: Lint common
if: matrix.os == 'ubuntu-latest'
run: |
pip install flake8
python -m flake8 ./common/src/main/python --max-line-length 88
python -m flake8 ./common/src/test/python --max-line-length 88

- name: Run flake8 on src directory
if: ${{ matrix.os == 'ubuntu-latest' }}
working-directory: ${{ matrix.package }}
run: python -m flake8 src/main/python --max-line-length 88
- name: Lint libs
if: matrix.os == 'ubuntu-latest'
run: |
python -m flake8 ./libs/src/main/python --max-line-length 88
python -m flake8 ./libs/src/test/python --max-line-length 88

- name: Lint platform
if: matrix.os == 'ubuntu-latest'
run: |
python -m flake8 ./platform/src/main/python --max-line-length 88
python -m flake8 ./platform/src/test/python --max-line-length 88

- name: Run flake8 on test directory
if: ${{ matrix.os == 'ubuntu-latest' }}
working-directory: ${{ matrix.package }}
run: python -m flake8 src/test/python --max-line-length 88
- name: Lint tools
if: matrix.os == 'ubuntu-latest'
run: |
python -m flake8 ./tools/src/main/python --max-line-length 88
python -m flake8 ./tools/src/test/python --max-line-length 88
17 changes: 11 additions & 6 deletions .github/workflows/publish-python-packages.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
#
# Copyright (c) 2026 by Delphix. All rights reserved.
#

name: Publish Python packages to Test PyPi

on:
# Run on push when the version file has changed on selected branches.
# Run on push when a package version (declared in pyproject.toml) has
# changed on selected branches, or when this workflow itself changes.
push:
branches:
- master
- develop
- release
paths:
- 'dvp/src/main/python/dlpx/virtualization/VERSION'
- '**/pyproject.toml'
- '.github/workflows/publish-python-packages.yml'

jobs:
Expand All @@ -21,15 +26,15 @@ jobs:
package: [common, dvp, libs, platform, tools]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
# Install dependencies necessary for building and publishing the package.
- name: Install dependencies
run: |
pip install setuptools wheel twine
pip install build twine
# Build each Python package and publish it to Test PyPi.
- name: Build and publish ${{ matrix.package }} package
working-directory: ${{ matrix.package }}
Expand All @@ -38,5 +43,5 @@ jobs:
TWINE_PASSWORD: ${{ secrets.VSDK_PYPI_TOKEN }}
TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/
run: |
python setup.py sdist bdist_wheel
python -m build
twine upload dist/*
Loading
Loading