Skip to content

Update actions/setup-python action to v7 #2104

Update actions/setup-python action to v7

Update actions/setup-python action to v7 #2104

Workflow file for this run

name: PR Pipeline
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
code_formatting:
name: Check Code Format
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
actions: read
contents: read
steps:
- name: Checkout Repository
uses: actions/checkout@v7
- name: Set up Java 21 (Temurin)
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '21'
# Unified Gradle caching: handles ~/.gradle/caches, ~/.gradle/wrapper,
# the local build cache, and the configuration cache in one step.
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
- name: Check Code Format
run: ./gradlew ktlintCheck --no-daemon --stacktrace
build_android:
name: Build Android app and Desktop
runs-on: ubuntu-latest
timeout-minutes: 45
needs: code_formatting
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout Repository
uses: actions/checkout@v7
- name: Set up Java 21 (Temurin)
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '21'
- name: Setup Android SDK
uses: android-actions/setup-android@v4
with:
packages: 'build-tools;37.0.0'
# Unified Gradle caching — reads the cache written by the formatting job
# on PRs; pushes an updated cache on main.
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
- name: Run Build, Lint and Tests
run: |
set -o pipefail
./gradlew build --no-daemon --stacktrace 2>&1 | tee build_log.txt
- name: Check compiler warnings against baseline
run: bash .github/check-compiler-warnings.sh build_log.txt
- name: Upload Lint SARIF report
uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: app/build/reports/lint-results-debug.sarif
category: lint
# - name: Upload Test Reports
# uses: actions/upload-artifact@v4
# with:
# name: test-reports
# path: |
# **/build/reports/tests/testDebugUnitTest/
# **/build/reports/tests/test/
# build_ios:
# name: Build iOS app
# runs-on: macos-latest
# timeout-minutes: 60
#
# permissions:
# actions: read
# contents: read
# security-events: write
#
# steps:
# - uses: maxim-lobanov/setup-xcode@v1
# with:
# xcode-version: latest-stable
#
# - name: Checkout Repository
# uses: actions/checkout@v4
#
# - name: Set up Java 21 (Temurin)
# uses: actions/setup-java@v4
# with:
# distribution: 'temurin'
# java-version: '21'
#
# - name: Build shared Kotlin framework
# run: ./gradlew compileKotlinIosSimulatorArm64 compileKotlinIosX64 --no-daemon --stacktrace
#
# - name: Build app
# run: xcodebuild -project iosApp/iosApp.xcodeproj -configuration Debug -scheme iosApp -sdk iphonesimulator