Skip to content

[Good First Issue]: Update ubuntu runners to self hosted solution #2021

@exploreriii

Description

@exploreriii

🆕🐥 Newcomer Friendly

This Good First Issue is a guided, well-scoped task intended for new human contributors to the Hiero Python SDK.

What you’ll do

  • ✅ understand how the repository is structured
  • ✅ practice the standard contribution workflow
  • ✅ submit and merge a pull request

Support

A maintainer or mentor actively monitors this issue and will help guide it to completion.

Important

This issue does not require prior domain knowledge.

  • No Hiero or Hedera experience needed
  • No distributed ledger background required
  • Basic Python and Git are sufficient

Note

⏱️ Typical time to complete: 30–90 minutes (once setup is done)
🧩 Difficulty: Small, well-contained change
🎓 Best for: New contributors

🏁 Completion
When this issue is complete, you will have:

  • ✅ Solved a real issue
  • ✅ A merged pull request in the Hiero Python SDK
  • ✅ Your name in the project history
  • ✅ Confidence to take on larger issues next

👾 Issue description

The following workflow use ubuntu runners that need updating:

.github/workflows/deps-check.yml
.github/workflows/pr-check-examples.yml
.github/workflows/pr-check-test-files.yml
.github/workflows/pr-check-test.yml

Instead, these should run on: hl-sdk-py-lin-md

💡 Proposed Solution

We should update from ubuntu to the custom solution

🛠️ Implementation Steps

Replace each of those workflows to use exactly:

hl-sdk-py-lin-md

.github/workflows/deps-check.yml
.github/workflows/pr-check-examples.yml
.github/workflows/pr-check-test-files.yml
.github/workflows/pr-check-test.yml

Ensure to keep all styling and content identical other than that

Thank you!


📋 Step-by-Step Setup Guide

Suggestions:

  • Visual Studio (VS) Code: Guide

  • GitHub Desktop: Guide

  • Hedera Testnet Account with root .env file: Guide

  • Create a GPG key linked to GitHub: Guide

Setup the Hiero Python SDK for development

  • Fork Create an online and local copy of the repository: Guide

  • Connect origin with upstream: Guide

  • Install Packages and protobufs: Guide (or Windows Setup Guide for Windows users)

  • Sync Main pull any recent upstream changes: Guide

You are set up! 🎉

📋 Step-by-step contribution guide

✅ Get ready

  • Claim the issue: comment /assign: Guide. Pull requests created without being assigned will be automatically closed.

  • Double check the Issue and AI plan: carefully re-read the issue description and the CodeRabbit AI plan

  • Ask questions early: ask on Discord, your @mentor (Python SDK help) and the @good_first_issue_support_team (setup and workflow help)

  • Sync with main: pull the latest upstream changes Guide

  • 💡 Tip: Before coding, leave a short comment describing what you plan to change. We’ll confirm you’re on the right track.

🛠️ Solve the Issue

  • Create a branch from main: Guide

  • Implement the solution: follow the implementation steps in the issue description.

  • Commit with DCO and GPG signing: commit changes using: git commit -S -s -m "chore: your message", Guide

  • Add a .CHANGELOG.md entry: under the appropriate [UNRELEASED] section and commit as git commit -S -s -m "chore: changelog entry" Guide

🚀 Create the pull request

  • Push your commits: push your branch to your fork git push origin your-branch-name

  • Open a pull request: here guide

  • Complete the PR description: briefly describe your changes, Guide

  • Link the Issue: link the issue the PR solves in the PR description, Guide. Pull requests created without a linked issue will be automatically closed.

  • Submit the pull request: click **Create pull request** 🎉

✅ Acceptance criteria

To be able to close this issue, the following criteria must be met:

  • The issue is solved: I’ve carefully read and implemented the issue requirements

  • I did not add extra changes: I did not modify anything beyond what is described in the issue

  • Behavior: All other existing features continue to work as before

  • Checks and feedback: All checks pass and any requested changes have been made

🧭 Getting help if you’re stuck

If questions come up, don’t spend more than 20 minutes blocked.

Tip

  • Comment on this issue and tag @good_first_issue_support_team or @mentor_name
  • Ask for help in Discord

🤔 What to expect after submitting a PR

Once you open a pull request, here’s what happens next.

🤖 1. Automated checks
A small set of automated checks must pass before merging (signing, changelog, tests, examples, code quality).
Open any failed check to see details.


🤝 2. AI feedback (CodeRabbit)
CodeRabbit AI may suggest improvements or flag issues.
Feedback is advisory — use what’s relevant and helpful.


😎 3. Team review
A Python SDK team member reviews your PR within 1–3 days.
You may be asked to make changes or your PR may be approved.
Approved PRs are usually merged within one day.

🔄 Merge conflicts (sometimes)
Conflicts can happen and are normal as the SDK updates.
Changelog conflicts can be resolved online in the PR in the merge editor, accepting both entries
Others may require rebasing.


🤖 AI usage guidelines

Humans are welcome to use AI tools while working on this issue but we do not accept AI bot-authored PRs.

Use AI responsibly:

  • review suggestions carefully
  • apply changes incrementally
  • test as you go

If in doubt, ask — maintainers are happy to help.

🤔 Additional Help

First Points of Contact:

  • Discord
  • Comment with @mentor_name (for Python SDK questions)
  • Comment with @hiero-ledger/hiero-sdk-good-first-issue-support (for setup and workflow questions)
    The more you ask, the more you learn and so do we!

Documentation:

Calls:

Metadata

Metadata

Labels

Good First IssueIssues which are ideal for a first time or new project contributor.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions