Skip to content

Commit aa630f2

Browse files
Add files via upload
1 parent 5c9e1ac commit aa630f2

1 file changed

Lines changed: 84 additions & 0 deletions

File tree

.github/workflows/release.yaml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Release Android
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
tag:
7+
description: 'Tag to release (e.g., v0.1.0)'
8+
required: true
9+
prerelease:
10+
description: 'Mark as pre-release'
11+
type: boolean
12+
default: false
13+
14+
permissions:
15+
contents: write
16+
17+
env:
18+
CARGO_TERM_COLOR: always
19+
20+
jobs:
21+
build-android:
22+
name: Build Android (Termux)
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Install Rust
29+
uses: dtolnay/rust-toolchain@stable
30+
with:
31+
targets: aarch64-linux-android
32+
33+
- name: Setup Android NDK linker
34+
run: |
35+
NDK_BIN="$ANDROID_NDK_LATEST_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin"
36+
echo "CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=$NDK_BIN/aarch64-linux-android24-clang" >> $GITHUB_ENV
37+
echo "AR_aarch64_linux_android=$NDK_BIN/llvm-ar" >> $GITHUB_ENV
38+
39+
- name: Build
40+
run: cargo build --release --target aarch64-linux-android
41+
env:
42+
RTK_TELEMETRY_URL: ${{ vars.RTK_TELEMETRY_URL }}
43+
RTK_TELEMETRY_TOKEN: ${{ secrets.RTK_TELEMETRY_TOKEN }}
44+
45+
- name: Package
46+
run: |
47+
cd target/aarch64-linux-android/release
48+
tar -czvf ../../../rtk-aarch64-linux-android.tar.gz rtk
49+
cd ../../..
50+
51+
- name: Upload artifact
52+
uses: actions/upload-artifact@v4
53+
with:
54+
name: rtk-aarch64-linux-android
55+
path: rtk-aarch64-linux-android.tar.gz
56+
57+
release:
58+
name: Create Release
59+
needs: [build-android]
60+
runs-on: ubuntu-latest
61+
steps:
62+
- name: Download artifacts
63+
uses: actions/download-artifact@v4
64+
with:
65+
path: artifacts
66+
67+
- name: Flatten artifacts
68+
run: |
69+
mkdir -p release
70+
find artifacts -type f -name "*.tar.gz" -exec cp {} release/ \;
71+
72+
- name: Create checksums
73+
run: |
74+
cd release
75+
sha256sum * > checksums.txt
76+
77+
- name: Upload Release Assets
78+
uses: softprops/action-gh-release@v2
79+
with:
80+
tag_name: ${{ inputs.tag }}
81+
files: release/*
82+
prerelease: ${{ inputs.prerelease }}
83+
env:
84+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)