ci: run on the self-hosted x86_64 runner and drop the toolchain installers
Targets runs-on: flutter-android for both jobs. Since that runner is host mode with the toolchain preinstalled, subosito/flutter-action and actions/setup-java are removed — they would have downloaded a second Flutter and JDK over the ones being used, and CI would no longer be building with the toolchain the release was verified against. A Toolchain step fails loudly if flutter or ANDROID_HOME is missing rather than letting a later step fail obscurely. Documents in docs/README.md why the runner cannot be the Gitea host, what host mode trades away, and what each job protects — including why building the release APK is necessary but not sufficient, which is the reason the JNI name guard exists at all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+17
-18
@@ -6,18 +6,28 @@ on:
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
# Both jobs target a self-hosted runner, by capability rather than by hostname.
|
||||
# See tool/setup_ci_runner.sh for how that runner is provisioned and why it is
|
||||
# not the Gitea host: Flutter cannot build an Android APK on a Linux arm64 host
|
||||
# (flutter/flutter#189724), and the Gitea box is aarch64. The runner is
|
||||
# registered at android-stuff org scope so any repo in the org can use it.
|
||||
#
|
||||
# The runner is host-mode, so Flutter, the JDK and the Android SDK/NDK are the
|
||||
# machine's own — the same toolchain that produced the verified release, and no
|
||||
# multi-hundred-MB download per run. Nothing here installs a toolchain; the
|
||||
# Toolchain step fails loudly if one is missing.
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze & Test
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: flutter-android
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: '3.47.1'
|
||||
channel: 'stable'
|
||||
cache: true
|
||||
- name: Toolchain
|
||||
run: |
|
||||
flutter --version
|
||||
echo "ANDROID_HOME=${ANDROID_HOME:?not set on this runner}"
|
||||
|
||||
- name: Get dependencies
|
||||
run: flutter pub get
|
||||
@@ -32,21 +42,10 @@ jobs:
|
||||
|
||||
release-apk:
|
||||
name: Release APK
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: flutter-android
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: '17'
|
||||
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: '3.47.1'
|
||||
channel: 'stable'
|
||||
cache: true
|
||||
|
||||
- name: Get dependencies
|
||||
run: flutter pub get
|
||||
|
||||
|
||||
Reference in New Issue
Block a user