Skip to content

Add CI release workflow for multi-toolchain builds#3

Merged
widgetii merged 6 commits intomasterfrom
ci-release-workflow
Apr 3, 2026
Merged

Add CI release workflow for multi-toolchain builds#3
widgetii merged 6 commits intomasterfrom
ci-release-workflow

Conversation

@widgetii
Copy link
Copy Markdown
Member

@widgetii widgetii commented Apr 3, 2026

Summary

  • Adds GitHub Actions workflow that builds uget for all 6 HiSilicon toolchains using a matrix strategy
  • Downloads cross-compilers from OpenIPC/toolchains release assets
  • Produces uget.<toolchain> and uget.<toolchain>.sh per platform, published as GitHub release assets on tag push (v*)

Supported toolchains

Toolchain GCC Libc
arm-hisiv300-linux 4.8.3 uClibc 0.9.33.2
arm-hisiv500-linux 4.9.4 uClibc 0.9.33.2
arm-hisiv510-linux 6.2.1 uClibc 0.9.33.2
arm-hisiv600-linux 4.9.4 glibc 2.20
arm-himix100-linux 6.3.0 uClibc 0.9.33.2
arm-himix200-linux 6.3.0 glibc 2.24

Closes #1

Test plan

  • Merge PR, tag v0.0.1, push tag
  • Verify all 6 matrix jobs pass in Actions
  • Verify release page has 12 files (uget + uget.sh per toolchain)
  • Download uget.arm-hisiv510-linux, verify with file it's ARM 32-bit ELF

🤖 Generated with Claude Code

widgetii and others added 6 commits April 3, 2026 18:20
Build uget for all 6 HiSilicon toolchains (hisiv300, hisiv500, hisiv510,
hisiv600, himix100, himix200) using matrix strategy. Downloads toolchains
from OpenIPC/toolchains release assets. Produces uget binary and uget.sh
per toolchain, published as GitHub release assets on tag push.

Closes #1

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Skip release job on PRs since it requires a tag.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All HiSilicon toolchains are 32-bit x86 ELF binaries. The assembler
needs lib32z1, and gcc-multilib provides the 32-bit loader and libc.
Also set fail-fast: false so all matrix jobs run independently.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
UPX throws NotCompressibleException on very small binaries (e.g., when
built with some toolchains). Prefix with - so make continues on failure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Helps end users pick the right binary for their device.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@widgetii widgetii merged commit f2f23c4 into master Apr 3, 2026
7 checks passed
@widgetii widgetii deleted the ci-release-workflow branch April 3, 2026 15:55
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.

Provide 'release' binary to avoid needing users to install the hisilicon SDK

1 participant