-
Notifications
You must be signed in to change notification settings - Fork 237
Description
🧠 Advanced Contributors — Prerequisites & Expectations
🐞 Problem Description
We part of the open SSF scorecard we should cryptographically sign releases
https://scorecard.dev/viewer/?uri=github.com/hiero-ledger/hiero-sdk-python
read about it:
https://github.com/ossf/scorecard/blob/c0df03399ddd8c3345b62ff3df813f3cbbe5bf42/docs/checks.md#signed-releases
We may be able to achieve this using
https://github.com/sigstore/sigstore-python
The issue would be to edit our publish workflow, https://github.com/hiero-ledger/hiero-sdk-python/blob/main/.github/workflows/publish.yml, or, create a new release sign workflow to ensure we are signing releases.
We should consider what kind of permissions will be required to achieve that, and some kind of openness how to test or simulate this
Caution
This advanced issue requires independent research and testing.
🏁 Concrete Prerequisites
- Proven History: Successfully merged ≥ 3 non-trivial intermediate issues in this repo, including at least 2 relating to github actions.
- Expertise: good architectural understanding of creating high-quality, well tested workflows
⚠️ AI Usage Policy
Using AI to generate code for Advanced issues is strictly discouraged. AI may be used only to help explain file relationships. We require this workflow to work and follow best principles.
⏱️ Timeline & Workflow
- Typical time: ~2 weeks / ~20 hours.
- 🔴 Completing an advanced issue in 1–3 days is a red flag and will likely be rejected.
- Advised: Post your proposed architectural approach as a comment and wait for feedback before writing any code.
🛠️ Implementation Notes
Technical domains involved in this issue:
- CI/CD Integration
- Signing Research
- Workflow Optimization
Streamlining the pipeline by replacing multiple tools (e.g. Flake8 and plugins) with Ruff, reducing CI runtime while maintaining coverage.
🛡️ Quality & Review Standards
The bar for advanced PRs is "safe, maintainable, architecturally sound, and production-ready."
- CI Reliability. Workflow must run consistently on appropriate trigger
- Proper lowest permissions set to limited scope files
- Package is signed in a meaningful and appropriate way
- Workflow file is simple, readable, and minimal. Uses stable, well-supported GitHub Actions with hashes.
Notably: Developer architects the solution of how to best apply bandit to the repo
✅ PR Quality Checklist
Before opening your PR, the contributor must confirm:
- I understand the system-wide impact of these changes on affected modules and performance.
- The system design fits with current architectural approaches.
- I have tested my changes extensively against both local and network environments.
- Every line of code is personally understood and explainable and tested
📚 Resources & Support
Sample from github:
Project References:
🆘 Stuck?
- Office Hours (Wednesdays, 2pm UTC)
- Discord #hiero-python-sdk