From d59e87fe5362cd055138540c66bc161fb605c1ad Mon Sep 17 00:00:00 2001 From: Nikolai Nobadi Date: Mon, 8 Sep 2025 14:09:44 -0700 Subject: [PATCH] Add ci.yml --- .github/workflows/ci.yml | 61 ++++++++++++++++++++++++++++++++++++++++ README.md | 5 ++++ 2 files changed, 66 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..84f969d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,61 @@ +name: CI + +on: + pull_request: + branches: + - main + +jobs: + build-and-test: + runs-on: macos-14 + + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Select Xcode 16.2 + run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + + - name: Display Xcode Version + run: xcodebuild -version + + - name: Cache Swift packages + uses: actions/cache@v3 + with: + path: | + ~/Library/Developer/Xcode/DerivedData + .build + .swiftpm + key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} + restore-keys: | + ${{ runner.os }}-spm- + + - name: Cache Ruby gems + uses: actions/cache@v3 + with: + path: /usr/local/lib/ruby/gems + key: ${{ runner.os }}-ruby-gems + + - name: Install xcpretty + run: gem install xcpretty + + - name: Build for iOS + run: | + xcodebuild build \ + -project DBMultiverse.xcodeproj \ + -scheme DBMultiverse \ + -destination 'platform=iOS Simulator,name=iPhone 15' \ + CODE_SIGN_IDENTITY="" \ + CODE_SIGNING_REQUIRED=NO \ + | xcpretty + + - name: Run Tests + run: | + xcodebuild test \ + -project DBMultiverse.xcodeproj \ + -scheme DBMultiverse \ + -destination 'platform=iOS Simulator,name=iPhone 15' \ + -resultBundlePath TestResults \ + CODE_SIGN_IDENTITY="" \ + CODE_SIGNING_REQUIRED=NO \ + | xcpretty \ No newline at end of file diff --git a/README.md b/README.md index 8b29b44..291562f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,11 @@ # Multiverse Reader +![Build Status](https://github.com/nikolainobadi/DBMultiverse/actions/workflows/ci.yml/badge.svg) +![Swift Version](https://badgen.net/badge/swift/6.0/purple) +![Platform](https://img.shields.io/badge/platform-iOS%2017%2B-blue) +![License](https://img.shields.io/badge/license-MIT-lightgray) + Multiverse Reader is an iOS application designed to enhance the experience of reading and managing the DB Multiverse webcomic. The app integrates several modules, each providing specific functionality to ensure a seamless and enjoyable user experience. ## TestFlight