This commit is contained in:
samosvalishe
2026-06-25 03:47:22 +03:00
parent 992973c818
commit 7eb33da28a
2 changed files with 84 additions and 0 deletions
+81
View File
@@ -12,11 +12,82 @@ permissions:
env:
GO_VERSION: "1.26.4"
GORELEASER_VERSION: v2.15.4
GOMOBILE_VERSION: latest
TASK_VERSION: 3.51.1
jobs:
build-ios:
name: Build iOS XCFramework
runs-on: macos-latest
steps:
- uses: actions/checkout@v6.0.2
- uses: actions/setup-go@v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache: true
- uses: arduino/setup-task@v2.0.0
with:
version: ${{ env.TASK_VERSION }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install gomobile
run: |
go install golang.org/x/mobile/cmd/gomobile@${{ env.GOMOBILE_VERSION }}
gomobile init
- name: Build XCFramework
run: task build:ios
- name: Zip XCFramework
run: cd dist && zip -r Mobile.xcframework.zip Mobile.xcframework
- uses: actions/upload-artifact@v7.0.1
with:
name: ios-xcframework-zip
path: dist/Mobile.xcframework.zip
retention-days: 7
build-android:
name: Build Android AAR
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2
- uses: actions/setup-go@v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache: true
- uses: arduino/setup-task@v2.0.0
with:
version: ${{ env.TASK_VERSION }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Android NDK
run: |
NDK_DIR=$(ls -d $ANDROID_SDK_ROOT/ndk/*/ 2>/dev/null | sort -V | tail -n1)
echo "ANDROID_NDK_HOME=${NDK_DIR%/}" >> $GITHUB_ENV
- name: Install gomobile
run: |
go install golang.org/x/mobile/cmd/gomobile@${{ env.GOMOBILE_VERSION }}
gomobile init
- name: Build AAR
run: task build:android
- uses: actions/upload-artifact@v7.0.1
with:
name: android-aar
path: dist/mobile.aar
retention-days: 7
goreleaser:
name: GoReleaser
runs-on: ubuntu-latest
needs: [build-ios, build-android]
steps:
- uses: actions/checkout@v6.0.2
with:
@@ -41,6 +112,16 @@ jobs:
- name: Install syft (SBOM)
uses: anchore/sbom-action/download-syft@v0.24.0
- uses: actions/download-artifact@v7.0.0
with:
name: ios-xcframework-zip
path: mobile-dist/
- uses: actions/download-artifact@v7.0.0
with:
name: android-aar
path: mobile-dist/
- uses: goreleaser/goreleaser-action@v7.2.2
with:
distribution: goreleaser