Sm 989 create build pipeline for the python language wrapper #1410
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Build Android | |
on: | |
pull_request: | |
push: | |
branches: | |
- "master" | |
workflow_dispatch: | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
settings: | |
- target: aarch64-linux-android | |
- target: armv7-linux-androideabi | |
- target: x86_64-linux-android | |
- target: i686-linux-android | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Install rust | |
uses: dtolnay/rust-toolchain@439cf607258077187679211f12aa6f19af4a0af7 # stable | |
with: | |
toolchain: 1.67.0 # https://github.com/cross-rs/cross/issues/1222 | |
- name: Cache cargo registry | |
uses: Swatinem/rust-cache@3cf7f8cc28d1b4e7d01e3783be10a97d55d483c8 # v2.7.1 | |
with: | |
key: ${{ matrix.settings.target }}-cargo | |
- name: Install Cross | |
run: cargo install cross | |
- name: Build | |
env: | |
TARGET: ${{ matrix.settings.target }} | |
run: cross build -p bitwarden-uniffi --release --target=${{ matrix.settings.target }} | |
- name: Upload artifact | |
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 | |
with: | |
name: android-${{ matrix.settings.target }} | |
path: ./target/${{ matrix.settings.target }}/release/libbitwarden_uniffi.so | |
if-no-files-found: error | |
combine: | |
runs-on: ubuntu-22.04 | |
needs: build | |
steps: | |
- name: Checkout repo (PR) | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
if: github.event_name == 'pull_request' | |
with: | |
fetch-depth: 0 | |
ref: ${{ github.event.pull_request.head.ref }} | |
- name: Checkout repo (Push) | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
if: github.event_name == 'push' | |
with: | |
fetch-depth: 0 | |
- name: Install rust | |
uses: dtolnay/rust-toolchain@439cf607258077187679211f12aa6f19af4a0af7 # stable | |
with: | |
toolchain: stable | |
- name: Cache cargo registry | |
uses: Swatinem/rust-cache@3cf7f8cc28d1b4e7d01e3783be10a97d55d483c8 # v2.7.1 | |
with: | |
key: cargo-combine-cache | |
- name: Setup Java | |
uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3.13.0 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Download Artifacts | |
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 | |
- name: Move artifacts | |
working-directory: languages/kotlin/sdk/src/main/jniLibs | |
run: | | |
mkdir armeabi-v7a arm64-v8a x86 x86_64 | |
mv /home/runner/work/sdk/sdk/android-armv7-linux-androideabi/libbitwarden_uniffi.so ./armeabi-v7a/libbitwarden_uniffi.so | |
mv /home/runner/work/sdk/sdk/android-aarch64-linux-android/libbitwarden_uniffi.so ./arm64-v8a/libbitwarden_uniffi.so | |
mv /home/runner/work/sdk/sdk/android-i686-linux-android/libbitwarden_uniffi.so ./x86/libbitwarden_uniffi.so | |
mv /home/runner/work/sdk/sdk/android-x86_64-linux-android/libbitwarden_uniffi.so ./x86_64/libbitwarden_uniffi.so | |
- name: Generate bindings | |
working-directory: languages/kotlin | |
run: ./build-schemas.sh | |
- name: Publish | |
uses: gradle/gradle-build-action@87a9a15658c426a54dd469d4fc7dc1a73ca9d4a6 # v2.10.0 | |
with: | |
arguments: sdk:publish | |
build-root-directory: languages/kotlin | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |