Make beta release artifacts reproducible on Linux and Android
Constraint: SRS-118 and SRS-119 require a Linux release package and an Android release AAB, and the current workspace also needs the sibling oboe-rs checkout for Cargo manifest loading. Rejected: Keep release packaging as ad-hoc local knowledge | CI and contributors would still miss the required artifacts and hit the missing oboe-rs prerequisite. Confidence: medium Scope-risk: moderate Directive: If the oboe-rs fork path changes or is vendored, update the helper scripts and workflow checkout steps together. Tested: bash -n tools/build-linux-deb.sh tools/build-android-aab.sh; python3 YAML parse for .github/workflows/ci.yml, .github/workflows/bench-advisory.yml, .github/workflows/bench-baseline-update.yml; git diff --check Not-tested: End-to-end flutter build linux --release; end-to-end flutter build appbundle --release; GitHub Actions runtime execution
This commit is contained in:
@@ -11,6 +11,8 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Checkout oboe-rs fork
|
||||
run: git clone --depth 1 https://github.com/edisonjwa/oboe-rs.git ../oboe-rs
|
||||
- name: System deps (cpal / Opus / SQLite)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
@@ -38,6 +40,8 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Checkout oboe-rs fork
|
||||
run: git clone --depth 1 https://github.com/edisonjwa/oboe-rs.git ../oboe-rs
|
||||
- uses: EmbarkStudios/cargo-deny-action@v2
|
||||
with:
|
||||
command: check
|
||||
@@ -51,6 +55,8 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Checkout oboe-rs fork
|
||||
run: git clone --depth 1 https://github.com/edisonjwa/oboe-rs.git ../oboe-rs
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- name: Install cargo-about
|
||||
@@ -113,12 +119,71 @@ jobs:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Checkout oboe-rs fork
|
||||
run: git clone --depth 1 https://github.com/edisonjwa/oboe-rs.git ../oboe-rs
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- name: flutter pub get
|
||||
working-directory: apps/chanora_flutter
|
||||
run: flutter pub get
|
||||
- name: flutter build ios --no-codesign
|
||||
working-directory: apps/chanora_flutter
|
||||
run: flutter build ios --release --no-codesign
|
||||
|
||||
flutter-linux-release-package:
|
||||
name: flutter Linux release package (.deb)
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Checkout oboe-rs fork
|
||||
run: git clone --depth 1 https://github.com/edisonjwa/oboe-rs.git ../oboe-rs
|
||||
- name: System deps (Flutter Linux + audio + packaging)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y \
|
||||
clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev \
|
||||
libasound2-dev libpulse-dev libopus-dev libsdl2-dev
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- name: Build Linux .deb package
|
||||
run: ./tools/build-linux-deb.sh
|
||||
- name: Upload Linux package artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: chanora-linux-deb
|
||||
path: dist/linux/*.deb
|
||||
|
||||
flutter-android-release-aab:
|
||||
name: flutter Android release AAB
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Checkout oboe-rs fork
|
||||
run: git clone --depth 1 https://github.com/edisonjwa/oboe-rs.git ../oboe-rs
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: temurin
|
||||
java-version: '17'
|
||||
- uses: android-actions/setup-android@v3
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
targets: aarch64-linux-android,x86_64-linux-android
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- name: Install cargo-ndk
|
||||
run: cargo install --locked cargo-ndk
|
||||
- name: Build Android release AAB
|
||||
run: ./tools/build-android-aab.sh
|
||||
- name: Upload Android bundle artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: chanora-android-aab
|
||||
path: dist/android/*.aab
|
||||
|
||||
Reference in New Issue
Block a user