refactor: rewrite release workflow and align artifact naming with README
- Restructure release flow: create release with notes first, then build
and upload artifacts in parallel
- Replace GoReleaser with make build-all for plain binary uploads
- Rename Termux APK from clawdroid-termux- to clawdroid-noembedded-
- Update README APK names to clawdroid-<version>-{arch}.apk format
- Add x86_64 (clawdroid-linux-amd64) to Go binary download table
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
8394d24350
commit
3ab185fd92
3 changed files with 52 additions and 53 deletions
83
.github/workflows/release.yml
vendored
83
.github/workflows/release.yml
vendored
|
|
@ -1,10 +1,10 @@
|
||||||
name: Create Tag and Release
|
name: Release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
tag:
|
tag:
|
||||||
description: "Release tag (required, e.g. v0.2.0)"
|
description: "Release tag (e.g. v0.2.0)"
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
prerelease:
|
prerelease:
|
||||||
|
|
@ -19,8 +19,8 @@ on:
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-tag:
|
create-release:
|
||||||
name: Create Git Tag
|
name: Create Tag & Release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
|
@ -42,7 +42,6 @@ jobs:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Create and push tag
|
- name: Create and push tag
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
RELEASE_TAG: ${{ inputs.tag }}
|
RELEASE_TAG: ${{ inputs.tag }}
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -51,13 +50,27 @@ jobs:
|
||||||
git tag -a "$RELEASE_TAG" -m "Release $RELEASE_TAG"
|
git tag -a "$RELEASE_TAG" -m "Release $RELEASE_TAG"
|
||||||
git push origin "$RELEASE_TAG"
|
git push origin "$RELEASE_TAG"
|
||||||
|
|
||||||
release:
|
- name: Create release with generated notes
|
||||||
name: GoReleaser Release
|
env:
|
||||||
needs: create-tag
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
RELEASE_TAG: ${{ inputs.tag }}
|
||||||
|
IS_DRAFT: ${{ inputs.draft }}
|
||||||
|
IS_PRERELEASE: ${{ inputs.prerelease }}
|
||||||
|
run: |
|
||||||
|
FLAGS=""
|
||||||
|
if [ "$IS_DRAFT" = "true" ]; then FLAGS="$FLAGS --draft"; fi
|
||||||
|
if [ "$IS_PRERELEASE" = "true" ]; then FLAGS="$FLAGS --prerelease"; fi
|
||||||
|
gh release create "$RELEASE_TAG" \
|
||||||
|
--generate-notes \
|
||||||
|
--title "$RELEASE_TAG" \
|
||||||
|
$FLAGS
|
||||||
|
|
||||||
|
build-go:
|
||||||
|
name: Go Binaries
|
||||||
|
needs: create-release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
packages: write
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout tag
|
- name: Checkout tag
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
@ -65,32 +78,27 @@ jobs:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
ref: ${{ inputs.tag }}
|
ref: ${{ inputs.tag }}
|
||||||
|
|
||||||
- name: Setup Go from go.mod
|
- name: Setup Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version-file: go.mod
|
go-version-file: go.mod
|
||||||
|
|
||||||
- name: Run GoReleaser
|
- name: Build all platforms
|
||||||
uses: goreleaser/goreleaser-action@v6
|
run: make build-all
|
||||||
with:
|
|
||||||
distribution: goreleaser
|
|
||||||
version: ~> v2
|
|
||||||
args: release --clean
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Apply release flags
|
- name: Upload binaries to release
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
RELEASE_TAG: ${{ inputs.tag }}
|
||||||
run: |
|
run: |
|
||||||
gh release edit "${{ inputs.tag }}" \
|
gh release upload "$RELEASE_TAG" \
|
||||||
--draft=${{ inputs.draft }} \
|
build/clawdroid-linux-amd64 \
|
||||||
--prerelease=${{ inputs.prerelease }}
|
build/clawdroid-linux-arm64 \
|
||||||
|
build/clawdroid-linux-arm
|
||||||
|
|
||||||
android-termux:
|
build-android-termux:
|
||||||
name: Android Termux APK
|
name: Android Termux APK
|
||||||
needs: create-tag
|
needs: create-release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
|
@ -129,24 +137,19 @@ jobs:
|
||||||
- name: Build release APK
|
- name: Build release APK
|
||||||
run: ./gradlew assembleTermuxRelease
|
run: ./gradlew assembleTermuxRelease
|
||||||
|
|
||||||
- name: Rename APK with version
|
|
||||||
env:
|
|
||||||
RELEASE_TAG: ${{ inputs.tag }}
|
|
||||||
run: |
|
|
||||||
mv app/build/outputs/apk/termux/release/app-termux-release.apk \
|
|
||||||
app/build/outputs/apk/termux/release/clawdroid-termux-"$RELEASE_TAG".apk
|
|
||||||
|
|
||||||
- name: Upload APK to release
|
- name: Upload APK to release
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
RELEASE_TAG: ${{ inputs.tag }}
|
RELEASE_TAG: ${{ inputs.tag }}
|
||||||
run: |
|
run: |
|
||||||
|
mv app/build/outputs/apk/termux/release/app-termux-release.apk \
|
||||||
|
app/build/outputs/apk/termux/release/clawdroid-noembedded-"$RELEASE_TAG".apk
|
||||||
gh release upload "$RELEASE_TAG" \
|
gh release upload "$RELEASE_TAG" \
|
||||||
app/build/outputs/apk/termux/release/clawdroid-termux-"$RELEASE_TAG".apk
|
app/build/outputs/apk/termux/release/clawdroid-noembedded-"$RELEASE_TAG".apk
|
||||||
|
|
||||||
android-embedded:
|
build-android-embedded:
|
||||||
name: Android Embedded APKs
|
name: Android Embedded APKs
|
||||||
needs: create-tag
|
needs: create-release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
|
@ -193,8 +196,9 @@ jobs:
|
||||||
working-directory: android
|
working-directory: android
|
||||||
run: ./gradlew assembleEmbeddedRelease -PenableAbiSplit
|
run: ./gradlew assembleEmbeddedRelease -PenableAbiSplit
|
||||||
|
|
||||||
- name: Rename APKs with version
|
- name: Upload APKs to release
|
||||||
env:
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
RELEASE_TAG: ${{ inputs.tag }}
|
RELEASE_TAG: ${{ inputs.tag }}
|
||||||
working-directory: android/app/build/outputs/apk/embedded/release
|
working-directory: android/app/build/outputs/apk/embedded/release
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -202,13 +206,6 @@ jobs:
|
||||||
mv app-embedded-armeabi-v7a-release.apk clawdroid-"$RELEASE_TAG"-armeabi-v7a.apk
|
mv app-embedded-armeabi-v7a-release.apk clawdroid-"$RELEASE_TAG"-armeabi-v7a.apk
|
||||||
mv app-embedded-x86_64-release.apk clawdroid-"$RELEASE_TAG"-x86_64.apk
|
mv app-embedded-x86_64-release.apk clawdroid-"$RELEASE_TAG"-x86_64.apk
|
||||||
mv app-embedded-universal-release.apk clawdroid-"$RELEASE_TAG"-universal.apk
|
mv app-embedded-universal-release.apk clawdroid-"$RELEASE_TAG"-universal.apk
|
||||||
|
|
||||||
- name: Upload APKs to release
|
|
||||||
env:
|
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
RELEASE_TAG: ${{ inputs.tag }}
|
|
||||||
working-directory: android/app/build/outputs/apk/embedded/release
|
|
||||||
run: |
|
|
||||||
gh release upload "$RELEASE_TAG" \
|
gh release upload "$RELEASE_TAG" \
|
||||||
clawdroid-"$RELEASE_TAG"-arm64-v8a.apk \
|
clawdroid-"$RELEASE_TAG"-arm64-v8a.apk \
|
||||||
clawdroid-"$RELEASE_TAG"-armeabi-v7a.apk \
|
clawdroid-"$RELEASE_TAG"-armeabi-v7a.apk \
|
||||||
|
|
|
||||||
11
README.ja.md
11
README.ja.md
|
|
@ -53,10 +53,10 @@ graph TB
|
||||||
|
|
||||||
| アーキテクチャ | APK |
|
| アーキテクチャ | APK |
|
||||||
|-------------|-----|
|
|-------------|-----|
|
||||||
| 64-bit ARM(最近のデバイスの大半) | `clawdroid-embedded-arm64-v8a-release.apk` |
|
| 64-bit ARM(最近のデバイスの大半) | `clawdroid-<version>-arm64-v8a.apk` |
|
||||||
| 32-bit ARM | `clawdroid-embedded-armeabi-v7a-release.apk` |
|
| 32-bit ARM | `clawdroid-<version>-armeabi-v7a.apk` |
|
||||||
| x86_64(エミュレーター) | `clawdroid-embedded-x86_64-release.apk` |
|
| x86_64(エミュレーター) | `clawdroid-<version>-x86_64.apk` |
|
||||||
| ユニバーサル(全アーキテクチャ) | `clawdroid-embedded-universal-release.apk` |
|
| ユニバーサル(全アーキテクチャ) | `clawdroid-<version>-universal.apk` |
|
||||||
|
|
||||||
### 2. インストール & 起動
|
### 2. インストール & 起動
|
||||||
|
|
||||||
|
|
@ -272,6 +272,7 @@ Termux 版は Go バックエンドを APK に内蔵せず、Termux 上で別プ
|
||||||
|-------------|---------|
|
|-------------|---------|
|
||||||
| 64-bit ARM(最近のデバイスの大半) | `clawdroid-linux-arm64` |
|
| 64-bit ARM(最近のデバイスの大半) | `clawdroid-linux-arm64` |
|
||||||
| 32-bit ARM | `clawdroid-linux-arm` |
|
| 32-bit ARM | `clawdroid-linux-arm` |
|
||||||
|
| x86_64 | `clawdroid-linux-amd64` |
|
||||||
|
|
||||||
Termux で `uname -m` を実行するとアーキテクチャを確認できます。
|
Termux で `uname -m` を実行するとアーキテクチャを確認できます。
|
||||||
|
|
||||||
|
|
@ -300,7 +301,7 @@ LLM モデルと API キーを設定します。
|
||||||
|
|
||||||
**5. Termux 版 APK のインストール**
|
**5. Termux 版 APK のインストール**
|
||||||
|
|
||||||
Termux フレーバーの APK(`clawdroid-termux-*.apk`)を同じデバイスにインストールします。
|
Termux フレーバーの APK(`clawdroid-noembedded-*.apk`)を同じデバイスにインストールします。
|
||||||
|
|
||||||
**6. バックエンドの起動**
|
**6. バックエンドの起動**
|
||||||
|
|
||||||
|
|
|
||||||
11
README.md
11
README.md
|
|
@ -55,10 +55,10 @@ Choose the APK matching your device architecture:
|
||||||
|
|
||||||
| Architecture | APK |
|
| Architecture | APK |
|
||||||
|-------------|-----|
|
|-------------|-----|
|
||||||
| 64-bit ARM (most modern devices) | `clawdroid-embedded-arm64-v8a-release.apk` |
|
| 64-bit ARM (most modern devices) | `clawdroid-<version>-arm64-v8a.apk` |
|
||||||
| 32-bit ARM | `clawdroid-embedded-armeabi-v7a-release.apk` |
|
| 32-bit ARM | `clawdroid-<version>-armeabi-v7a.apk` |
|
||||||
| x86_64 (emulators) | `clawdroid-embedded-x86_64-release.apk` |
|
| x86_64 (emulators) | `clawdroid-<version>-x86_64.apk` |
|
||||||
| Universal (all architectures) | `clawdroid-embedded-universal-release.apk` |
|
| Universal (all architectures) | `clawdroid-<version>-universal.apk` |
|
||||||
|
|
||||||
### 2. Install & Launch
|
### 2. Install & Launch
|
||||||
|
|
||||||
|
|
@ -274,6 +274,7 @@ Download from [GitHub Releases](https://github.com/KarakuriAgent/clawdroid/relea
|
||||||
|-------------|--------|
|
|-------------|--------|
|
||||||
| 64-bit ARM (most modern devices) | `clawdroid-linux-arm64` |
|
| 64-bit ARM (most modern devices) | `clawdroid-linux-arm64` |
|
||||||
| 32-bit ARM | `clawdroid-linux-arm` |
|
| 32-bit ARM | `clawdroid-linux-arm` |
|
||||||
|
| x86_64 | `clawdroid-linux-amd64` |
|
||||||
|
|
||||||
You can check your architecture in Termux with `uname -m`.
|
You can check your architecture in Termux with `uname -m`.
|
||||||
|
|
||||||
|
|
@ -302,7 +303,7 @@ Add your LLM model and API key.
|
||||||
|
|
||||||
**5. Install the Termux APK**
|
**5. Install the Termux APK**
|
||||||
|
|
||||||
Install the Termux-flavor APK (`clawdroid-termux-*.apk`) on the same device.
|
Install the Termux-flavor APK (`clawdroid-noembedded-*.apk`) on the same device.
|
||||||
|
|
||||||
**6. Start the backend**
|
**6. Start the backend**
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue