Enhance FOSS Compliance and OSSF Scorecard Posture - #367
Merged
Merged
Conversation
Co-authored-by: Junie <junie@egeria-project.org> Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
- Add OSSF Scorecard and Python Tests GitHub Actions. - Add academic attribution (CITATION.cff). - Enhance CONTRIBUTING.md with DCO/sign-off requirements. - Add SBOM generation to release workflow using cyclonedx-py. - Update README.md with health and security badges. - Complete SECURITY.md with SBOM information. - Include community health files (Governance, Code of Conduct). Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com> Co-authored-by: Junie <junie@jetbrains.com>
- Restrict supported Python versions to '>=3.12, <3.14' to avoid resolution conflicts - Remove cyclonedx-py from dev dependencies as it is invoked via uvx - Refresh uv.lock with updated dependencies - Pin ossf/scorecard-action to a stable SHA to resolve Docker pull issues - Update python-tests.yml to use Python 3.12/3.13 and target micro-tests - Clean up old help documents in sample-data/egeria-inbox/ Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com> Co-authored-by: Junie <junie@jetbrains.com>
# Conflicts: # uv.lock
Rename manual scripts in tests/micro-tests to prevent them from being collected by pytest during CI. Update conftest.py to automatically mark all tests in the micro-tests directory with the 'unit' marker. This ensures that 'pytest -m unit' correctly selects only the intended unit tests and avoids failures due to missing files or top-level execution in manual scripts. Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com> Co-authored-by: Junie <junie@jetbrains.com>
Switch from 'cyclonedx-py pyproject' (invalid command) to 'cyclonedx-py environment' using the recommended 'cyclonedx-bom' source. This ensures accurate SBOM generation by scanning the installed environment instead of the manifest file. Updates both python-tests and release workflows. Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com> Co-authored-by: Junie <junie@jetbrains.com>
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com> Co-authored-by: Junie <junie@jetbrains.com>
This was referenced Sep 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
Key Changes
1. Security Automation & Supply Chain
.github/workflows/scorecard.yml(pinned to stable SHA) to automatically analyze the project's security posture.cyclonedx-pyinto the release workflow to generate CycloneDX SBOMs (JSON and XML) for every release.python-tests.ymlto run unit tests on every Pull Request and push tomain, ensuring baseline code quality.SECURITY.mdfile and documented the SBOM and vulnerability reporting process.>=3.12, <3.14inpyproject.tomlto resolve resolution conflicts and refresheduv.lock.2. Community Health & Governance
CODE_OF_CONDUCT.mdaligned with ODPi Egeria, including modern sections on responsible AI usage.GOVERNANCE.mdto clarify decision-making processes.CONTRIBUTING.mdwith explicit Developer Certificate of Origin (DCO) instructions andSigned-off-byrequirements.CITATION.cfffor academic and professional attribution.CODEOWNERSto formalize review responsibilities.3. Test Isolation & CI Reliability
tests/micro-tests/tomanual_*.pyto prevent them from being picked up bypytestduring automated runs, resolving "file not found" errors in CI.tests/micro-tests/conftest.pyto automatically mark all tests in that directory asunit, ensuring correct test selection withpytest -m unit.4. Visibility
Checklist
uv.lock.Verification Results
uv run pytest tests/micro-tests/ -m unitpasses locally.uv locksucceeds with the new version constraints.