Skip to content

Подготовить безопасный выпуск 1.8.1 #3

Подготовить безопасный выпуск 1.8.1

Подготовить безопасный выпуск 1.8.1 #3

Workflow file for this run

name: Проверка Android
on:
push:
branches: [main]
tags: ["v*"]
pull_request:
permissions:
contents: read
jobs:
test:
name: Тесты, анализ и сборка
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- name: Получить исходный код
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Настроить JDK 17
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: temurin
java-version: "17"
- name: Проверить Gradle Wrapper
uses: gradle/actions/wrapper-validation@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
- name: Настроить Gradle
uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
- name: Проверить пробелы в изменениях
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
run: |
if [[ -n "$BASE_SHA" ]]; then
git diff --check "$BASE_SHA"...HEAD
else
git diff --check HEAD^ HEAD
fi
- name: Проверить проект
run: ./gradlew --no-daemon test lint assembleDebug assembleRelease
- name: Сохранить неподписанную релизную сборку
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: CleanRate-unsigned-${{ github.sha }}
path: |
app/build/outputs/apk/release/app-release-unsigned.apk
app/build/outputs/mapping/release/mapping.txt
if-no-files-found: error
retention-days: 14
provenance:
name: Происхождение сборки тега
if: startsWith(github.ref, 'refs/tags/v')
needs: [test, android-runtime]
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
attestations: write
steps:
- name: Получить неподписанную сборку
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: CleanRate-unsigned-${{ github.sha }}
path: release
- name: Подтвердить происхождение APK
uses: actions/attest@508db95dd578ae2727ebd6217d5ba78e4fbda05d # v4.2.1
with:
subject-path: release/app-release-unsigned.apk
android-runtime:
name: Проверка на Android 15
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
steps:
- name: Получить исходный код
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Настроить JDK 17
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: temurin
java-version: "17"
- name: Настроить Gradle
uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
- name: Запустить инструментальные тесты
uses: ReactiveCircus/android-emulator-runner@a421e43855164a8197daf9d8d40fe71c6996bb0d # v2.38.0
with:
api-level: 35
arch: x86_64
target: default
disable-animations: true
script: ./gradlew --no-daemon connectedDebugAndroidTest