diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fe1e7e7..8e99985 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,29 +7,32 @@ on: branches: [ main ] jobs: - ios-build: - name: Build and Test iOS app - runs-on: macos-13 + build: + name: Build and Test + runs-on: macos-latest steps: - - uses: actions/checkout@v3 - - - name: Set Xcode version - run: sudo xcode-select -s /Applications/Xcode.app - - - name: List available schemes - run: xcodebuild -list -project Coinly.xcodeproj - - - name: List available simulators - run: xcrun simctl list devices available - - - name: Build and test - run: | - xcodebuild clean build test \ - -project Coinly.xcodeproj \ - -scheme "Coinly" \ - -sdk iphonesimulator \ - -destination "platform=iOS Simulator,name=iPhone 14,OS=16.4" \ - ONLY_ACTIVE_ARCH=YES \ - CODE_SIGNING_REQUIRED=NO \ - CODE_SIGNING_ALLOWED=NO + - uses: actions/checkout@v3 + + - name: Select Xcode + run: sudo xcode-select -switch /Applications/Xcode.app + + - name: Build and Test + run: | + xcodebuild clean test \ + -project Coinly.xcodeproj \ + -scheme Coinly \ + -destination 'platform=iOS Simulator,name=iPhone 14,OS=latest' \ + -allowProvisioningUpdates \ + CODE_SIGN_IDENTITY="" \ + CODE_SIGNING_REQUIRED=NO \ + CODE_SIGNING_ALLOWED=NO + + - name: Upload test results + if: success() || failure() + uses: actions/upload-artifact@v3 + with: + name: test-results + path: | + build/reports/ + build/logs/ diff --git a/README.md b/README.md index 130427a..b3d1c4c 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,14 @@ ![Tests](https://github.com/SamoilenkoVadym/Coinly/workflows/iOS%20Tests/badge.svg) -Personal Finance Management App +Personal Finance Management App built with SwiftUI ## Features -- Transaction management -- Multiple accounts support -- Currency conversion -- Category management -- Financial analytics +- Transaction management with categories +- Multiple account types support (wallet, bank account, credit card, deposit) +- Multi-currency support with real-time exchange rates +- Detailed financial analytics +- Unit tests coverage ## Requirements - iOS 15.0+ @@ -24,10 +24,16 @@ Personal Finance Management App ## Architecture - MVVM - SwiftUI -- Core Data +- Core Data for persistence +- Unit Tests ## Testing The project includes: -- Unit Tests -- UI Tests -- GitHub Actions CI/CD +- Unit Tests for models and business logic +- GitHub Actions CI/CD pipeline +- Automated testing on pull requests + +## Contributing +Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. + +Please make sure to update tests as appropriate.