Skip to content

Conversation

@gfenoy
Copy link

@gfenoy gfenoy commented Nov 4, 2025

This pull request introduces major enhancements to the CI/CD pipeline, dependency management, and the ipython2cwl Python package, focusing on improved testing, security, code quality, and extensibility for Common Workflow Language (CWL) features. Key changes include new GitHub Actions workflows for testing and quality assurance, a comprehensive CI/CD configuration file, expanded dependency update rules, and significant additions to the iotypes.py module to support advanced CWL requirements, metadata, and namespaces.

CI/CD and Workflow Improvements

  • Added .ci-config.toml to centralize configuration of project metadata, supported Python versions, test directories, code quality, security tools, Docker settings, and release automation, improving maintainability and reproducibility.
  • Introduced new GitHub Actions workflows: test.yml for multi-version testing (including Docker-dependent tests and CWL validation), and quality.yml for security scanning (Bandit, Safety), code analysis (CodeQL), code style (Pylint, MyPy, Radon), and documentation coverage, ensuring robust CI/CD and code health. [1] [2]

Dependency Management

  • Expanded .github/dependabot.yml to automate updates for GitHub Actions, Python, and Docker dependencies, with custom scheduling, labeling, commit message conventions, and rules to ignore major version updates for stability.

Core Package Enhancements (CWL Features)

  • Added new input/output types in ipython2cwl/iotypes.py: CWLFloatInput for float inputs and CWLDirectoryPathOutput for directory outputs, increasing flexibility in workflow definitions. [1] [2] [3]
  • Introduced annotation classes for advanced CWL features: CWLRequirement (for workflow requirements), CWLMetadata (for schema.org metadata), and CWLNamespaces (for namespace specification), enabling richer and more interoperable CWL tool generation directly from notebooks.

Miscellaneous

  • Updated ipython2cwl/__init__.py to reflect the new package version 0.0.4.

These changes collectively modernize the development workflow, improve code quality and security, and extend the functionality of ipython2cwl for advanced CWL use cases.

gfenoy and others added 22 commits October 6, 2025 12:07
Add security and quality monitoring
Add Dependabot for dependency management
Fix issue with validation job from the GitHub Action Tests
Fix issue with coverage in pyproject.toml
Do not use the deprecated pkg_resources Python module
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.

1 participant