Skip to content

[ADVANCED]: cryptographically sign releases #2044

@exploreriii

Description

@exploreriii

🧠 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?

Metadata

Metadata

Assignees

Labels

advancedrequires knowledge of multiple areas in the codebase without defined steps to implement or examplesgithub_actionsPull requests that update Github Actions code.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions