From 8f5f7861a2a6965552618bb440999d31ad772e83 Mon Sep 17 00:00:00 2001 From: Xeonacid Date: Thu, 5 Nov 2026 15:10:43 +0100 Subject: [PATCH] ci: add linux/riscv64 build and publish Cross-compile the static binary with the other release targets and ship the zip plus the npm optional package. --- .github/workflows/build.yml | 12 +++++++++--- publish/npm-linux-riscv64/package.json | 13 +++++++++++++ publish/npm/index.js | 4 ++++ publish/npm/package.json | 1 + 4 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 publish/npm-linux-riscv64/package.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3b4256c1..0fe416a9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -192,7 +192,7 @@ jobs: env: CGO_ENABLED: 0 run: | - for target in darwin/arm64 darwin/amd64 linux/arm64 linux/amd64 windows/amd64 windows/arm64; do + for target in darwin/arm64 darwin/amd64 linux/arm64 linux/amd64 linux/riscv64 windows/amd64 windows/arm64; do os="${target%/*}" arch="${target#*/}" ext="" @@ -220,6 +220,7 @@ jobs: path: | mobilecli-linux-arm64 mobilecli-linux-amd64 + mobilecli-linux-riscv64 retention-days: 1 overwrite: true @@ -341,6 +342,11 @@ jobs: zip -9 "../mobilecli-$GITHUB_REF_NAME-linux-arm64.zip" mobilecli rm -f mobilecli + # linux-riscv64 + cp ../mobilecli-linux/mobilecli-linux-riscv64 mobilecli + zip -9 "../mobilecli-$GITHUB_REF_NAME-linux-riscv64.zip" mobilecli + rm -f mobilecli + # windows-amd64 cp ../mobilecli-windows/mobilecli-windows-amd64.exe mobilecli.exe zip -9 "../mobilecli-$GITHUB_REF_NAME-windows-amd64.zip" mobilecli.exe @@ -371,7 +377,7 @@ jobs: - name: Publish run: | # publish platform-specific packages - for platform in darwin-arm64 darwin-amd64 linux-arm64 linux-amd64 windows-amd64 windows-arm64; do + for platform in darwin-arm64 darwin-amd64 linux-arm64 linux-amd64 linux-riscv64 windows-amd64 windows-arm64; do os="${platform%-*}" binary="mobilecli-$platform" if [ "$os" = "windows" ]; then @@ -389,7 +395,7 @@ jobs: cp README.md publish/npm cd publish/npm npm version "$GITHUB_REF_NAME" --no-git-tag-version - for platform in darwin-arm64 darwin-amd64 linux-arm64 linux-amd64 windows-amd64 windows-arm64; do + for platform in darwin-arm64 darwin-amd64 linux-arm64 linux-amd64 linux-riscv64 windows-amd64 windows-arm64; do npm pkg set "optionalDependencies.@mobilenext/mobilecli-$platform=$GITHUB_REF_NAME" done npm publish --access public --provenance diff --git a/publish/npm-linux-riscv64/package.json b/publish/npm-linux-riscv64/package.json new file mode 100644 index 00000000..19313636 --- /dev/null +++ b/publish/npm-linux-riscv64/package.json @@ -0,0 +1,13 @@ +{ + "name": "@mobilenext/mobilecli-linux-riscv64", + "version": "0.0.4", + "author": "Mobile Next", + "description": "mobilecli binary for Linux RISC-V 64", + "repository": { + "type": "git", + "url": "git+https://github.com/mobile-next/mobilecli.git" + }, + "license": "FSL-1.1-ALv2", + "os": ["linux", "android"], + "cpu": ["riscv64"] +} diff --git a/publish/npm/index.js b/publish/npm/index.js index 34b1f9f3..cfb38c69 100644 --- a/publish/npm/index.js +++ b/publish/npm/index.js @@ -28,6 +28,10 @@ switch (process.platform) { packageName = "@mobilenext/mobilecli-linux-arm64"; binaryName = "mobilecli-linux-arm64"; break; + case "riscv64": + packageName = "@mobilenext/mobilecli-linux-riscv64"; + binaryName = "mobilecli-linux-riscv64"; + break; case "x64": packageName = "@mobilenext/mobilecli-linux-amd64"; binaryName = "mobilecli-linux-amd64"; diff --git a/publish/npm/package.json b/publish/npm/package.json index 628c99bd..90b64369 100644 --- a/publish/npm/package.json +++ b/publish/npm/package.json @@ -16,6 +16,7 @@ "@mobilenext/mobilecli-darwin-amd64": "0.0.4", "@mobilenext/mobilecli-linux-arm64": "0.0.4", "@mobilenext/mobilecli-linux-amd64": "0.0.4", + "@mobilenext/mobilecli-linux-riscv64": "0.0.4", "@mobilenext/mobilecli-windows-amd64": "0.0.4", "@mobilenext/mobilecli-windows-arm64": "0.0.4" }