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:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tag:
|
||||
description: "Release tag (required, e.g. v0.2.0)"
|
||||
description: "Release tag (e.g. v0.2.0)"
|
||||
required: true
|
||||
type: string
|
||||
prerelease:
|
||||
|
|
@ -19,8 +19,8 @@ on:
|
|||
default: false
|
||||
|
||||
jobs:
|
||||
create-tag:
|
||||
name: Create Git Tag
|
||||
create-release:
|
||||
name: Create Tag & Release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
|
|
@ -42,7 +42,6 @@ jobs:
|
|||
fi
|
||||
|
||||
- name: Create and push tag
|
||||
shell: bash
|
||||
env:
|
||||
RELEASE_TAG: ${{ inputs.tag }}
|
||||
run: |
|
||||
|
|
@ -51,13 +50,27 @@ jobs:
|
|||
git tag -a "$RELEASE_TAG" -m "Release $RELEASE_TAG"
|
||||
git push origin "$RELEASE_TAG"
|
||||
|
||||
release:
|
||||
name: GoReleaser Release
|
||||
needs: create-tag
|
||||
- name: Create release with generated notes
|
||||
env:
|
||||
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
|
||||
permissions:
|
||||
contents: write
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout tag
|
||||
uses: actions/checkout@v4
|
||||
|
|
@ -65,32 +78,27 @@ jobs:
|
|||
fetch-depth: 0
|
||||
ref: ${{ inputs.tag }}
|
||||
|
||||
- name: Setup Go from go.mod
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v6
|
||||
with:
|
||||
distribution: goreleaser
|
||||
version: ~> v2
|
||||
args: release --clean
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Build all platforms
|
||||
run: make build-all
|
||||
|
||||
- name: Apply release flags
|
||||
shell: bash
|
||||
- name: Upload binaries to release
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RELEASE_TAG: ${{ inputs.tag }}
|
||||
run: |
|
||||
gh release edit "${{ inputs.tag }}" \
|
||||
--draft=${{ inputs.draft }} \
|
||||
--prerelease=${{ inputs.prerelease }}
|
||||
gh release upload "$RELEASE_TAG" \
|
||||
build/clawdroid-linux-amd64 \
|
||||
build/clawdroid-linux-arm64 \
|
||||
build/clawdroid-linux-arm
|
||||
|
||||
android-termux:
|
||||
build-android-termux:
|
||||
name: Android Termux APK
|
||||
needs: create-tag
|
||||
needs: create-release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
|
|
@ -129,24 +137,19 @@ jobs:
|
|||
- name: Build release APK
|
||||
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
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RELEASE_TAG: ${{ inputs.tag }}
|
||||
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" \
|
||||
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
|
||||
needs: create-tag
|
||||
needs: create-release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
|
|
@ -193,8 +196,9 @@ jobs:
|
|||
working-directory: android
|
||||
run: ./gradlew assembleEmbeddedRelease -PenableAbiSplit
|
||||
|
||||
- name: Rename APKs with version
|
||||
- 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: |
|
||||
|
|
@ -202,13 +206,6 @@ jobs:
|
|||
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-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" \
|
||||
clawdroid-"$RELEASE_TAG"-arm64-v8a.apk \
|
||||
clawdroid-"$RELEASE_TAG"-armeabi-v7a.apk \
|
||||
|
|
|
|||
11
README.ja.md
11
README.ja.md
|
|
@ -53,10 +53,10 @@ graph TB
|
|||
|
||||
| アーキテクチャ | APK |
|
||||
|-------------|-----|
|
||||
| 64-bit ARM(最近のデバイスの大半) | `clawdroid-embedded-arm64-v8a-release.apk` |
|
||||
| 32-bit ARM | `clawdroid-embedded-armeabi-v7a-release.apk` |
|
||||
| x86_64(エミュレーター) | `clawdroid-embedded-x86_64-release.apk` |
|
||||
| ユニバーサル(全アーキテクチャ) | `clawdroid-embedded-universal-release.apk` |
|
||||
| 64-bit ARM(最近のデバイスの大半) | `clawdroid-<version>-arm64-v8a.apk` |
|
||||
| 32-bit ARM | `clawdroid-<version>-armeabi-v7a.apk` |
|
||||
| x86_64(エミュレーター) | `clawdroid-<version>-x86_64.apk` |
|
||||
| ユニバーサル(全アーキテクチャ) | `clawdroid-<version>-universal.apk` |
|
||||
|
||||
### 2. インストール & 起動
|
||||
|
||||
|
|
@ -272,6 +272,7 @@ Termux 版は Go バックエンドを APK に内蔵せず、Termux 上で別プ
|
|||
|-------------|---------|
|
||||
| 64-bit ARM(最近のデバイスの大半) | `clawdroid-linux-arm64` |
|
||||
| 32-bit ARM | `clawdroid-linux-arm` |
|
||||
| x86_64 | `clawdroid-linux-amd64` |
|
||||
|
||||
Termux で `uname -m` を実行するとアーキテクチャを確認できます。
|
||||
|
||||
|
|
@ -300,7 +301,7 @@ LLM モデルと API キーを設定します。
|
|||
|
||||
**5. Termux 版 APK のインストール**
|
||||
|
||||
Termux フレーバーの APK(`clawdroid-termux-*.apk`)を同じデバイスにインストールします。
|
||||
Termux フレーバーの APK(`clawdroid-noembedded-*.apk`)を同じデバイスにインストールします。
|
||||
|
||||
**6. バックエンドの起動**
|
||||
|
||||
|
|
|
|||
11
README.md
11
README.md
|
|
@ -55,10 +55,10 @@ Choose the APK matching your device architecture:
|
|||
|
||||
| Architecture | APK |
|
||||
|-------------|-----|
|
||||
| 64-bit ARM (most modern devices) | `clawdroid-embedded-arm64-v8a-release.apk` |
|
||||
| 32-bit ARM | `clawdroid-embedded-armeabi-v7a-release.apk` |
|
||||
| x86_64 (emulators) | `clawdroid-embedded-x86_64-release.apk` |
|
||||
| Universal (all architectures) | `clawdroid-embedded-universal-release.apk` |
|
||||
| 64-bit ARM (most modern devices) | `clawdroid-<version>-arm64-v8a.apk` |
|
||||
| 32-bit ARM | `clawdroid-<version>-armeabi-v7a.apk` |
|
||||
| x86_64 (emulators) | `clawdroid-<version>-x86_64.apk` |
|
||||
| Universal (all architectures) | `clawdroid-<version>-universal.apk` |
|
||||
|
||||
### 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` |
|
||||
| 32-bit ARM | `clawdroid-linux-arm` |
|
||||
| x86_64 | `clawdroid-linux-amd64` |
|
||||
|
||||
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**
|
||||
|
||||
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**
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue