diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml new file mode 100644 index 0000000..4109223 --- /dev/null +++ b/.github/workflows/ios.yml @@ -0,0 +1,35 @@ +name: iOS Test Suite + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + name: Run tests with fastlane + runs-on: macos-15 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install tools + run: | + brew bundle install + bundler install + - name: Set up xcconfig secrets (see README.md#quick-start) + env: + BIKE_INDEX_DEVELOPMENT_XCCONFIG: ${{ secrets.BIKE_INDEX_DEVELOPMENT_XCCONFIG }} + run: | + echo "$BIKE_INDEX_DEVELOPMENT_XCCONFIG" >> BikeIndex-development.xcconfig + - name: List available simulators + run: xcodebuild -scheme Debug\ \(development\) -project BikeIndex.xcodeproj -showdestinations + - name: Run tests + id: fastlane-ios-tests + run: bundle exec fastlane ios tests + - uses: actions/upload-artifact@v4 + if: always() + with: + name: test_output.zip + path: "fastlane/test_output/*" + compression-level: 9 # maximum compression diff --git a/Brewfile b/Brewfile index 8ac4522..199452f 100644 --- a/Brewfile +++ b/Brewfile @@ -1,3 +1,4 @@ tap "homebrew/bundle" brew "rbenv" brew "ruby-build" +brew "gh" diff --git a/Brewfile.lock.json b/Brewfile.lock.json index 591ed47..2f4b27a 100644 --- a/Brewfile.lock.json +++ b/Brewfile.lock.json @@ -2,7 +2,7 @@ "entries": { "tap": { "homebrew/bundle": { - "revision": "b1f54020a4b7ac0df4477896b7af155b18abf030" + "revision": "836b67f84a21deec9016253f41f994c2a98cea15" } }, "brew": { @@ -21,15 +21,54 @@ } }, "ruby-build": { - "version": "20240917", + "version": "20241007", "bottle": { "rebuild": 0, "root_url": "https://ghcr.io/v2/homebrew/core", "files": { "all": { "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/ruby-build/blobs/sha256:a69d04a25971f1f19d4cc2893adafc60e472dbb2fca2799ebf6de25d2e5e1658", - "sha256": "a69d04a25971f1f19d4cc2893adafc60e472dbb2fca2799ebf6de25d2e5e1658" + "url": "https://ghcr.io/v2/homebrew/core/ruby-build/blobs/sha256:545ae4c7dcb39bbc6a964a4d81c0ed2e5f0c78455a265ebcb5ce9b831cf60149", + "sha256": "545ae4c7dcb39bbc6a964a4d81c0ed2e5f0c78455a265ebcb5ce9b831cf60149" + } + } + } + }, + "gh": { + "version": "2.58.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_sequoia": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3", + "sha256": "f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3" + }, + "arm64_sonoma": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3", + "sha256": "f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3" + }, + "arm64_ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3", + "sha256": "f3cb6b84271ebd44425139e995f6c11fb8405c73b8eebba18a2155895670e1f3" + }, + "sonoma": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:8b8a4655d289d7cef3471bb479dcf1bd3665440c3c9fa4412ac5f6e02450f849", + "sha256": "8b8a4655d289d7cef3471bb479dcf1bd3665440c3c9fa4412ac5f6e02450f849" + }, + "ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:c98643a52ed2ea1afab0bea2c4168b1d045bd21b2eef22c68e5706de7dc59c81", + "sha256": "c98643a52ed2ea1afab0bea2c4168b1d045bd21b2eef22c68e5706de7dc59c81" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/gh/blobs/sha256:9b9c42f277d56692ac8a13af727eb71b6ad912c58700f0646d1e3a233586bba6", + "sha256": "9b9c42f277d56692ac8a13af727eb71b6ad912c58700f0646d1e3a233586bba6" } } } diff --git a/README.md b/README.md index 8e99c02..fc3029d 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # Bike Index -![GitHub License](https://img.shields.io/github/license/bikeindex/bike_index_ios) +![GitHub License](https://img.shields.io/github/license/bikeindex/bike_index_ios) | [![iOS Test Suite](https://github.com/bikeindex/bike_index_ios/actions/workflows/ios.yml/badge.svg)](https://github.com/bikeindex/bike_index_ios/actions/workflows/ios.yml) > [!IMPORTANT] > This project is incomplete and under active development. > No guarantees are provided. -iOS client for bikeindex.org +iOS client for [bikeindex.org](https://bikeindex.org) ## Quick Start diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 0fa6a4f..4596fae 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -19,8 +19,9 @@ platform :ios do desc "Run unit tests" lane :tests do run_tests(project: "BikeIndex.xcodeproj", - devices: ["iPhone 16", "iPhone 16 Plus", - "iPad (10th generation)"], - scheme: "Debug (development)") + devices: ["iPhone 16 (18.0)", "iPhone 16 Plus (18.0)", + "iPad (10th generation) (18.0)"], + scheme: "Debug (development)", + result_bundle: true) end end