Skip to content

ESR: Use GitHub REST API for verified commits with submodule support#43

Merged
flowzone-app[bot] merged 4 commits into
masterfrom
kyle/verified-commit
Jan 20, 2026
Merged

ESR: Use GitHub REST API for verified commits with submodule support#43
flowzone-app[bot] merged 4 commits into
masterfrom
kyle/verified-commit

Conversation

@klutchell
Copy link
Copy Markdown
Contributor

@klutchell klutchell commented Jan 16, 2026

Replace local git commands with GitHub REST API calls to create verified
(signed) commits from the GitHub App bot. This approach properly handles
the meta-balena submodule which requires mode 160000 and type commit in
tree entries.

Changes:

  • Switch to actions/create-github-app-token for token generation
  • Use GitHub API for all git operations:
    • getRef with 404 handling to check branch existence
    • createRef to create branch before committing
    • createBlob/createTree for files and submodule
    • createCommit and updateRef for the versioned commit
    • createTag and createRef for the annotated tag
  • Remove GIT_AUTHOR/COMMITTER env vars (API uses app identity)
  • Add ESR_BOT_PRIVATE_KEY as required workflow secret
  • Split monolithic step into focused, documented steps

Change-type: minor
See: https://balena.fibery.io/Work/Improvement/Update-balena-os-github-workflows-to-sign-commits-3628

__

Tested on a fork here

Comment thread .github/workflows/esr.yml Fixed
@klutchell klutchell force-pushed the kyle/verified-commit branch from a1fcfe8 to a813d18 Compare January 16, 2026 15:31
klutchell and others added 3 commits January 16, 2026 10:55
Signed-off-by: Kyle Harding <kyle@balena.io>
Update actions/checkout
Changelog-entry: Update actions/checkout to v6
Update actions/setup-python
Changelog-entry: Update actions/setup-python to v6
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the balenaOS GitHub workflows to use signed commits from the GitHub App bot by replacing manual git commit/push operations with the verified-bot-commit action. It also updates several GitHub Actions to newer versions and adds Renovate bot configuration for automated dependency updates.

Changes:

  • Replaced tibdex/github-app-token with the official actions/create-github-app-token action for generating GitHub App tokens
  • Refactored the ESR branch creation workflow to use iarekylew00t/verified-bot-commit for signed commits instead of manual git commands
  • Updated actions/checkout and actions/setup-python to newer versions with commit SHA pinning
  • Added Renovate bot configuration file to enable automated dependency updates

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
.github/workflows/esr.yml Refactored to use verified-bot-commit action for signed commits, updated GitHub App token generation action, and updated action versions
.github/workflows/build_and_deploy.yml Updated actions/checkout to v6 with commit SHA pinning
.github/renovate.json Added Renovate bot configuration extending balena-io's shared config

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/esr.yml Outdated
@klutchell klutchell marked this pull request as draft January 16, 2026 17:38
auto-merge was automatically disabled January 16, 2026 17:38

Pull request was converted to draft

@klutchell klutchell force-pushed the kyle/verified-commit branch 3 times, most recently from 808e17d to 9767fd5 Compare January 16, 2026 19:03
@klutchell klutchell changed the title ESR: Use verified-bot-commit action for signed commits ESR: Use GitHub REST API for verified commits with submodule support Jan 16, 2026
@klutchell klutchell marked this pull request as ready for review January 16, 2026 19:06
@klutchell klutchell requested a review from Copilot January 16, 2026 19:06
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/esr.yml Outdated
Comment thread .github/workflows/esr.yml Outdated
Comment thread .github/workflows/esr.yml Outdated
@flowzone-app flowzone-app Bot enabled auto-merge January 16, 2026 19:17
Replace local git commands with GitHub REST API calls to create verified
(signed) commits from the GitHub App bot. This approach properly handles
the meta-balena submodule which requires mode 160000 and type commit in
tree entries.

Changes:
- Switch to actions/create-github-app-token for token generation
- Use GitHub API for all git operations:
  - getRef with 404 handling to check branch existence
  - createRef to create branch before committing
  - createBlob/createTree for files and submodule
  - createCommit and updateRef for the versioned commit
  - createTag and createRef for the annotated tag
- Remove GIT_AUTHOR/COMMITTER env vars (API uses app identity)
- Add ESR_BOT_PRIVATE_KEY as required workflow secret
- Split monolithic step into focused, documented steps

Change-type: minor
Signed-off-by: Kyle Harding <kyle@balena.io>
@klutchell klutchell force-pushed the kyle/verified-commit branch from 105136d to 141cc22 Compare January 16, 2026 19:55
@flowzone-app flowzone-app Bot merged commit 9146189 into master Jan 20, 2026
48 checks passed
@flowzone-app flowzone-app Bot deleted the kyle/verified-commit branch January 20, 2026 09:36
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.

4 participants