Skip to content

Enhance FOSS Compliance and OSSF Scorecard Posture - #366

Closed
dwolfson wants to merge 4 commits into
odpi:mainfrom
dwolfson:main
Closed

dwolfson wants to merge 4 commits into
odpi:mainfrom
dwolfson:main

Conversation

@dwolfson

Copy link
Copy Markdown
Member

PR Description: Enhance FOSS Compliance and OSSF Scorecard Posture

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

  • OSSF Scorecard Action: Added .github/workflows/scorecard.yml (pinned to stable SHA) to automatically analyze the project's security posture.
  • SBOM Generation: Integrated cyclonedx-py into the release workflow to generate CycloneDX SBOMs (JSON and XML) for every release.
  • Continuous Integration: Added python-tests.yml to run unit tests on every Pull Request and push to main, ensuring baseline code quality.
  • Security Policy: Completed the SECURITY.md file and documented the SBOM and vulnerability reporting process.
  • Dependency Management: Restricted supported Python versions to >=3.12, <3.14 in pyproject.toml to resolve resolution conflicts and refreshed uv.lock.

2. Community Health & Governance

  • Code of Conduct: Added CODE_OF_CONDUCT.md aligned with ODPi Egeria, including modern sections on responsible AI usage.
  • Governance: Added GOVERNANCE.md to clarify decision-making processes.
  • Contribution Guidelines: Enhanced CONTRIBUTING.md with explicit Developer Certificate of Origin (DCO) instructions and Signed-off-by requirements.
  • Attribution: Added CITATION.cff for academic and professional attribution.
  • Ownership: Added CODEOWNERS to formalize review responsibilities.

3. Visibility

  • README Badges: Added a comprehensive suite of badges for OSSF Scorecard, Python Tests, CII Best Practices, Governance, and Code of Conduct.

Checklist

  • 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.

Verification Results

  • Unit Tests: uv run pytest tests/micro-tests/ -m unit passes locally.
  • Workflow Syntax: Validated the YAML structure for all new GitHub Actions.
  • Dependency Resolution: Confirmed that uv lock succeeds with the new version constraints.

dwolfson and others added 4 commits September 13, 2026 15:59
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>
@dwolfson

Copy link
Copy Markdown
Member Author

Superseded — this work already landed on main via #367 and #368 (same FOSS-compliance/Scorecard content, with the SBOM command fixed in #368). Closing to resolve the conflict; the fork's main is being re-synced to upstream/main separately.

@dwolfson dwolfson closed this Sep 16, 2026
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