This PR significantly enhances the repository's alignment with open-source best practices, specifically targeting a high OSSF Scorecard score and improved community health. It introduces automated security checks, supply-chain transparency (SBOMs), and formalized governance documentation.
1. Security Automation & Supply Chain
- OSSF Scorecard Action: Added
.github/workflows/scorecard.yml(pinned to stable SHA) to automatically analyze the project's security posture. - SBOM Generation: Integrated
cyclonedx-pyinto the release workflow to generate CycloneDX SBOMs (JSON and XML) for every release. - Continuous Integration: Added
python-tests.ymlto run unit tests on every Pull Request and push tomain, ensuring baseline code quality. - Security Policy: Completed the
SECURITY.mdfile and documented the SBOM and vulnerability reporting process. - Dependency Management: Restricted supported Python versions to
>=3.12, <3.14inpyproject.tomlto resolve resolution conflicts and refresheduv.lock.
2. Community Health & Governance
- Code of Conduct: Added
CODE_OF_CONDUCT.mdaligned with ODPi Egeria, including modern sections on responsible AI usage. - Governance: Added
GOVERNANCE.mdto clarify decision-making processes. - Contribution Guidelines: Enhanced
CONTRIBUTING.mdwith explicit Developer Certificate of Origin (DCO) instructions andSigned-off-byrequirements. - Attribution: Added
CITATION.cfffor academic and professional attribution. - Ownership: Added
CODEOWNERSto formalize review responsibilities.
3. Test Isolation & CI Reliability
- Manual Script Isolation: Renamed manual scripts in
tests/micro-tests/tomanual_*.pyto prevent them from being picked up bypytestduring automated runs, resolving "file not found" errors in CI. - Unit Test Marking: Updated
tests/micro-tests/conftest.pyto automatically mark all tests in that directory asunit, ensuring correct test selection withpytest -m unit.
4. Visibility
- README Badges: Added a comprehensive suite of badges for OSSF Scorecard, Python Tests, CII Best Practices, Governance, and Code of Conduct.
- All commits are signed off (DCO compliant).
- GitHub Actions workflows for testing and security analysis added.
- Documentation for community health and security updated.
- Dependencies for SBOM generation integrated into workflows.
- Merged latest upstream changes and resolved conflicts in
uv.lock.
- Unit Tests:
uv run pytest tests/micro-tests/ -m unitpasses locally. - Workflow Syntax: Validated the YAML structure for all new GitHub Actions.
- Dependency Resolution: Confirmed that
uv locksucceeds with the new version constraints.