Files

109 lines
2.5 KiB
YAML

name: main
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
swiftpm-test:
name: SwiftPM Tests
runs-on: macos-15
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select latest Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Show Xcode and Swift version
run: |
xcodebuild -version
swift --version
- name: Cache SwiftPM
uses: actions/cache@v4
with:
path: |
.build
~/Library/Caches/org.swift.swiftpm
key: ${{ runner.os }}-swiftpm-${{ hashFiles('Package.swift', 'Package.resolved') }}
restore-keys: |
${{ runner.os }}-swiftpm-
- name: Run SwiftPM Tests
run: swift test
android-test:
name: Android Tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
working-directory: atlantis-android
run: chmod +x gradlew
- name: Run Android Unit Tests
working-directory: atlantis-android
run: ./gradlew :atlantis:test --no-daemon
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: android-test-results
path: atlantis-android/atlantis/build/reports/tests/
react-native-test:
name: React Native Tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Cache npm packages
uses: actions/cache@v4
with:
path: atlantis-react-native/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('atlantis-react-native/package-lock.json') }}
restore-keys: |
${{ runner.os }}-npm-
- name: Install dependencies
working-directory: atlantis-react-native
run: npm install
- name: Run Tests
working-directory: atlantis-react-native
run: npx jest --ci --coverage