Files
f7cloud_mobile/.gitea/workflows/ci.yml
T
b-dev-mobile 47c274e441
CI / verify (push) Failing after 3s
CI / release (push) Has been skipped
ci: тест — runs-on одна метка f7-android
2026-07-09 04:10:19 +00:00

65 lines
2.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: CI
# Активируется, когда на инфре B зарегистрирован self-hosted act_runner с меткой `f7-android`
# (JDK 21 + Android SDK 36 — как на билд-машине). Пока раннера нет — джобы ждут исполнителя.
# Регистрация раннера — инфра-шаг ячейки B (см. docs/CI.md).
on:
push:
branches: [main]
tags: ['v*']
pull_request:
env:
JAVA_HOME: /usr/lib/jvm/java-21-openjdk-amd64
ANDROID_HOME: /opt/android-sdk
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
jobs:
verify:
# lint + unit-тесты + debug-сборка на каждый push в main и на PR
runs-on: f7-android
if: github.ref_type != 'tag'
steps:
- uses: actions/checkout@v4
- name: Статанализ (detekt + ktlint-форматирование)
run: ./gradlew detekt --no-daemon
- name: Unit-тесты
run: ./gradlew testDebugUnitTest --no-daemon
- name: Android Lint (release)
run: ./gradlew :app:lintRelease --no-daemon
- name: Debug-сборка (артефакт для QA)
run: ./gradlew :app:assembleDebug --no-daemon
- name: Публикация debug-APK
uses: actions/upload-artifact@v3
with:
name: f7cloud-mobile-debug
path: app/build/outputs/apk/debug/*.apk
release:
# по тегу v*: подписанный release + архив исходников (GPL corresponding source) в Gitea Release
runs-on: f7-android
if: github.ref_type == 'tag'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Развернуть keystore из secret
run: |
echo "${{ secrets.F7_KEYSTORE_BASE64 }}" | base64 -d > "$RUNNER_TEMP/release.jks"
- name: Release-сборка (подписанная)
env:
F7_KEYSTORE_FILE: ${{ runner.temp }}/release.jks
F7_KEYSTORE_PASSWORD: ${{ secrets.F7_KEYSTORE_PASSWORD }}
F7_KEY_ALIAS: ${{ secrets.F7_KEY_ALIAS }}
F7_KEY_PASSWORD: ${{ secrets.F7_KEY_PASSWORD }}
run: ./gradlew :app:assembleRelease --no-daemon
- name: Архив исходников (GPL corresponding source)
run: bash scripts/package-source.sh "$RUNNER_TEMP/dist"
- name: Публикация Gitea Release (APK + исходники)
uses: akkuman/gitea-release-action@v1
with:
files: |
app/build/outputs/apk/release/*.apk
${{ runner.temp }}/dist/*-source.tar.gz