GitHub Actions: Bump actions/checkout from 4.2.1 to 4.2.2 #1696
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- "**" | |
- "!main" | |
- "!develop" | |
- "!hotfix/**" | |
- "!release/**" | |
workflow_dispatch: | |
inputs: | |
force_android: | |
description: "Force Android" | |
required: false | |
default: false | |
type: boolean | |
force_shared: | |
description: "Force shared" | |
required: false | |
default: false | |
type: boolean | |
force_ios: | |
description: "Force iOS" | |
required: false | |
default: false | |
type: boolean | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref_name }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
gradle-wrapper-validation: | |
name: Gradle Wrapper Validation | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Gradle Wrapper Validation | |
uses: gradle/actions/wrapper-validation@v4 | |
files-changed: | |
name: Detect changes | |
needs: gradle-wrapper-validation | |
uses: ./.github/workflows/detect_changed_files_reusable_workflow.yml | |
with: | |
force_android: ${{ inputs.force_android || false }} | |
force_shared: ${{ inputs.force_shared || false }} | |
force_ios: ${{ inputs.force_ios || false }} | |
ktlint: | |
needs: files-changed | |
if: ${{ needs.files-changed.outputs.android == 'true' || needs.files-changed.outputs.shared == 'true' }} | |
name: Run ktlint | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup CI | |
uses: ./.github/actions/setup-android | |
- name: Run ktlint | |
run: ./gradlew setUserHome ktlintCheck --stacktrace | |
env: | |
GITHUB_USER: ${{ github.actor }} | |
GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload SARIF | |
uses: github/codeql-action/upload-sarif@v3 | |
if: success() || failure() | |
with: | |
sarif_file: shared/build/reports/ktlint | |
category: ktlint | |
detekt: | |
needs: files-changed | |
if: ${{ needs.files-changed.outputs.android == 'true' || needs.files-changed.outputs.shared == 'true' }} | |
name: Run detekt | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup CI | |
uses: ./.github/actions/setup-android | |
- name: Run detekt | |
run: ./gradlew detekt | |
- name: Upload SARIF | |
uses: github/codeql-action/upload-sarif@v3 | |
if: success() || failure() | |
with: | |
sarif_file: build/reports/detekt/detekt.sarif | |
category: detekt | |
swiftlint: | |
needs: files-changed | |
if: ${{ needs.files-changed.outputs.ios == 'true' || needs.files-changed.outputs.shared == 'true' }} | |
name: Run SwiftLint | |
runs-on: macos-14 | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup Ruby | |
uses: ruby/[email protected] | |
with: | |
ruby-version: "3.3.0" | |
bundler-cache: true | |
working-directory: "./iosHyperskillApp" | |
- name: Cache Pods | |
uses: actions/[email protected] | |
id: cache-pods | |
with: | |
path: "./iosHyperskillApp/Pods" | |
key: ${{ runner.os }}-pods-${{ hashFiles('iosHyperskillApp/Podfile.lock') }} | |
restore-keys: | | |
${{ runner.os }}-pods- | |
- name: Install Pods | |
if: steps.cache-pods.outputs.cache-hit != 'true' | |
working-directory: "./iosHyperskillApp" | |
run: bundle exec pod install | |
- name: Run SwiftLint | |
working-directory: "./iosHyperskillApp" | |
run: ./lint.sh | |
shared-unit-testing: | |
needs: [files-changed, ktlint, detekt] | |
if: ${{ needs.files-changed.outputs.shared == 'true' }} | |
name: Run shared unit tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup CI | |
id: setup | |
uses: ./.github/actions/setup-android | |
with: | |
git-crypt-key: ${{ secrets.GIT_CRYPT_KEY }} | |
- name: Run unit tests | |
run: ./gradlew shared:testDebugUnitTest | |
env: | |
IS_GIT_CRYPT_UNLOCKED: ${{ steps.setup.outputs.is-git-crypt-unlocked }} | |
GITHUB_USER: ${{ github.actor }} | |
GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
android-unit-testing: | |
needs: [files-changed, ktlint, detekt] | |
if: ${{ needs.files-changed.outputs.android == 'true' || needs.files-changed.outputs.shared == 'true' }} | |
name: Run Android unit tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup CI | |
id: setup | |
uses: ./.github/actions/setup-android | |
with: | |
git-crypt-key: ${{ secrets.GIT_CRYPT_KEY }} | |
- name: Run unit tests | |
run: ./gradlew androidHyperskillApp:testDebugUnitTest | |
env: | |
IS_GIT_CRYPT_UNLOCKED: ${{ steps.setup.outputs.is-git-crypt-unlocked }} | |
GITHUB_USER: ${{ github.actor }} | |
GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
build-ios: | |
needs: swiftlint | |
name: Build iOS | |
runs-on: macos-14 | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup CI | |
id: setup | |
uses: ./.github/actions/setup-ios | |
with: | |
git-crypt-key: ${{ secrets.GIT_CRYPT_KEY }} | |
- name: Build | |
working-directory: "./iosHyperskillApp" | |
run: bundle exec fastlane build install_pods:false | |
env: | |
FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT: 60 | |
IS_GIT_CRYPT_UNLOCKED: ${{ steps.setup.outputs.is-git-crypt-unlocked }} | |
GITHUB_USER: ${{ github.actor }} | |
GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload error log | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: iosHyperskillApp-iosHyperskillApp.log | |
path: /Users/runner/Library/Logs/gym/iosHyperskillApp-iosHyperskillApp.log |