Skip to content

Add v0.1.14 changelog entry #60

Add v0.1.14 changelog entry

Add v0.1.14 changelog entry #60

Workflow file for this run

name: PR CI
on:
pull_request:
branches:
- main
types:
- opened
- synchronize
- reopened
- ready_for_review
push:
branches:
- main
merge_group:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: pr-ci-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build-and-test:
if: github.event_name != 'pull_request' || !github.event.pull_request.draft
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-15
- macos-15-intel
runs-on: ${{ matrix.os }}
name: Build and test (${{ matrix.os }})
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Use crates.io in CI
shell: bash
run: |
mkdir -p .cargo
cat > .cargo/config.toml <<'EOF'
[registries.crates-io]
protocol = "sparse"
[net]
git-fetch-with-cli = true
EOF
- name: Cache cargo artifacts
uses: Swatinem/rust-cache@v2
- name: Install Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y \
libayatana-appindicator3-dev \
libgtk-3-dev \
libxdo-dev \
libxkbcommon-dev \
libxcb-render0-dev \
libxcb-shape0-dev \
libxcb-xfixes0-dev \
libssl-dev \
pkg-config
- name: Run library tests
run: cargo test --release --locked --lib
- name: Build app binary
run: cargo build --release --locked --bin linuxdo-accelerator
build-android:
if: github.event_name != 'pull_request' || !github.event.pull_request.draft
strategy:
fail-fast: false
matrix:
include:
- abi: arm64-v8a
rust_target: aarch64-linux-android
- abi: x86_64
rust_target: x86_64-linux-android
runs-on: ubuntu-latest
name: Build Android APK (${{ matrix.abi }})
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- uses: android-actions/setup-android@v3
- uses: gradle/actions/setup-gradle@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.rust_target }}
- name: Use crates.io in CI
shell: bash
run: |
mkdir -p .cargo
cat > .cargo/config.toml <<'EOF'
[registries.crates-io]
protocol = "sparse"
[net]
git-fetch-with-cli = true
EOF
- name: Cache cargo artifacts
uses: Swatinem/rust-cache@v2
- name: Install Android SDK / NDK
shell: bash
run: |
yes | sdkmanager --licenses > /dev/null || true
sdkmanager --install \
"platform-tools" \
"platforms;android-35" \
"build-tools;35.0.0" \
"ndk;27.2.12479018"
- name: Install cargo-ndk
run: cargo install cargo-ndk --locked
- name: Build Android APK
shell: bash
env:
ANDROID_ABI: ${{ matrix.abi }}
RUST_TARGET: ${{ matrix.rust_target }}
ANDROID_BUILD_TYPE: release
APK_OUTPUT_NAME: linuxdo-accelerator-${{ matrix.abi }}.apk
run: |
export ANDROID_NDK_HOME="${ANDROID_SDK_ROOT}/ndk/27.2.12479018"
./scripts/build-android-apk.sh