Skip to content

Conversation

@abaczek
Copy link
Contributor

@abaczek abaczek commented Jul 11, 2025

This pull request introduces several major changes to the repository, including new workflows for CI/CD, pre-commit hook configuration, and updates to documentation and licensing. Additionally, it adds new modules and examples for the MFD ESXi library. Below is a breakdown of the most important changes grouped by theme.

CI/CD Workflows

  • .github/workflows/build_upload_whl.yml: Added a reusable workflow for building and optionally uploading Python .whl packages to PyPI. Includes support for version bumping, virtual environment setup, and test execution.
  • .github/workflows/manual_release.yml: Introduced a manual release workflow with matrix builds for Python versions 3.10 and 3.13. Supports tagging and uploading packages for release builds.
  • .github/workflows/pull_requests.yml: Added a workflow for pull requests to build and test .whl packages in development mode using Python versions 3.10 and 3.13.
  • .github/workflows/codeql.yml: Added a CodeQL analysis workflow to scan the repository for security vulnerabilities and quality issues. Supports Python and GitHub Actions languages.

Pre-commit Configuration

  • .pre-commit-config.yaml: Configured pre-commit hooks with Black for code formatting, specifying version 25.1.0 and an additional dependency on click==8.2.1.
  • configure.py: Added a script to automate the installation and setup of pre-commit hooks.

Documentation and Licensing

  • AUTHORS.md: Added a list of contributors to the project.
  • CONTRIBUTING.md: Updated contribution guidelines with the project name and license details.
  • LICENSE.md: Added the MIT license for the project.
  • README.md: Added project description, requirements, supported OS versions, and API documentation for the MFD ESXi library.

MFD ESXi Library Enhancements

  • examples/simple_example.py: Added a comprehensive example demonstrating the usage of the MFD ESXi library, including virtualization and networking features.
  • mfd_esxi/__init__.py: Created an initialization module for the MFD ESXi library.
  • mfd_esxi/const.py: Added shared constants for ESXi uplink configuration.
  • mfd_esxi/esxi_version.py: Implemented a class to parse and manage ESXi version information, including discovery functionality.

@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

@mfd-intel-bot
Copy link

We don't publish DEVs .whl.
To build .whl, run 'pip install git+https://github.com/intel/mfd-esxi@first_release'

1 similar comment
@mfd-intel-bot
Copy link

We don't publish DEVs .whl.
To build .whl, run 'pip install git+https://github.com/intel/mfd-esxi@first_release'

Signed-off-by: Baczek, Arkadiusz <arkadiusz.baczek@intel.com>
@mfd-intel-bot
Copy link

We don't publish DEVs .whl.
To build .whl, run 'pip install git+https://github.com/intel/mfd-esxi@first_release'

1 similar comment
@mfd-intel-bot
Copy link

We don't publish DEVs .whl.
To build .whl, run 'pip install git+https://github.com/intel/mfd-esxi@first_release'

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Initial commit adding CI/CD setup, pre-commit configuration, documentation scaffolding, licensing, core MFD ESXi library modules, and comprehensive unit tests.

  • Introduce GitHub Actions workflows for building, testing, releasing, and CodeQL scanning.
  • Configure pre-commit with Black and a setup script.
  • Add core modules (vswitch, vmknic, vm_mgr, vm_gold, vm_base, vCenter wrappers) with matching unit tests.
  • Scaffold Sphinx documentation and update project metadata and dependency configs.

Reviewed Changes

Copilot reviewed 95 out of 98 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/workflows/build_upload_whl.yml Add reusable build and upload wheel workflow
.github/workflows/manual_release.yml Add manual-release workflow with Python matrix
.github/workflows/pull_requests.yml Add PR build-and-test workflow
.github/workflows/codeql.yml Add CodeQL analysis workflow
.pre-commit-config.yaml Configure Black and click hooks
configure.py Script to automate pre-commit installation
README.md Add project overview, requirements, API docs
CONTRIBUTORS.md, AUTHORS.md, LICENSE.md Add contributors list and MIT license
sphinx-doc/… Scaffold Sphinx documentation files
setup.cfg, pyproject.toml, requirements* Define formatting, linting, build, test deps
mfd_esxi/vswitch.py Implement standard vSwitch support
mfd_esxi/vmknic.py Implement vmkernel adapter support
mfd_esxi/vm_mgr.py Add ESXi VM manager
mfd_esxi/vm_gold.py Add gold VM templating and copy logic
mfd_esxi/vm_base.py Add base VM control (start/stop/register/etc.)
mfd_esxi/vcenter/… Wrap vCenter API entities (switch, pg, host, VM)
tests/unit/… Add unit tests covering all new modules

@abaczek abaczek merged commit 3e7be53 into main Jul 11, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants