Skip to content

F-101: close target() deps API audit + docs #653

F-101: close target() deps API audit + docs

F-101: close target() deps API audit + docs #653

Workflow file for this run

# Forma CI — plugins, sample app, and adjacent tooling.
# F-018: pin JDK 21 on every job (Gradle 8.7+); install Android SDK for the sample app.
# App bytecode / jvmTarget stays at project settings (not raised with the daemon JDK).
name: CI
on:
push:
pull_request:
workflow_dispatch:
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_plugins:
name: Plugins
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build plugins
working-directory: plugins
# `build` → `check` → jacocoHappyPathCoverageVerification (LINE ≥60% happy-path).
# Reports: build/reports/jacoco/jacocoHappyPathReport/
run: ./gradlew build --stacktrace --console=plain
build_includer:
name: Includer
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build includer
working-directory: includer
run: ./gradlew build --stacktrace --console=plain
build_depgen:
name: Depgen
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build depgen
working-directory: depgen
run: ./gradlew build --stacktrace --console=plain
build_application:
name: Application
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
# Sample app: compileSdk/targetSdk 37 (F-087 AndroidX ceiling; core 1.19), minSdk 23.
# setup-android accepts licenses, installs cmdline-tools + listed packages,
# and exports ANDROID_HOME / ANDROID_SDK_ROOT for AGP.
- name: Set up Android SDK
uses: android-actions/setup-android@v3
with:
# Space-separated sdkmanager package ids (semicolons inside package names).
# API 37 package id is platforms;android-37.0 (not platforms;android-37).
packages: "platform-tools platforms;android-37.0 platforms;android-36 platforms;android-35 build-tools;37.0.0 build-tools;36.0.0 build-tools;35.0.0"
- name: Symlink android-37 platform dir for AGP
# AGP resolves compileSdk=37 as $ANDROID_HOME/platforms/android-37
run: |
set -euo pipefail
sdk="${ANDROID_HOME:-${ANDROID_SDK_ROOT:-}}"
test -n "$sdk"
if [[ -d "$sdk/platforms/android-37.0" && ! -e "$sdk/platforms/android-37" ]]; then
ln -s android-37.0 "$sdk/platforms/android-37"
fi
ls -la "$sdk/platforms"
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build application
working-directory: application
# No --scan: avoids build-scan ToS prompts / account coupling in CI.
run: ./gradlew build --stacktrace --console=plain