Added screenshots, MIT license headers, and light and dark previews #6
This file contains hidden or 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: Unit Tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: tests-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: Build and Test | |
| runs-on: macos-26 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Select Xcode 26 | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Show versions | |
| run: | | |
| xcodebuild -version | |
| swift --version | |
| - name: Build and test | |
| # AppIcon.icon is an Icon Composer file authored by a newer toolchain | |
| # than the runner's actool, which crashes while compiling it. Because the | |
| # project uses file-system synchronized groups, the .icon is an automatic | |
| # build input, so simply clearing ASSETCATALOG_COMPILER_APPICON_NAME does | |
| # not stop actool from scanning it. EXCLUDED_SOURCE_FILE_NAMES removes the | |
| # file from the build entirely; the legacy AppIcon.appiconset still | |
| # provides the icon and compiles fine on the older toolchain. | |
| run: | | |
| xcodebuild test \ | |
| -project JSONParser/JSONParser.xcodeproj \ | |
| -scheme JSONParser \ | |
| -destination 'platform=macOS' \ | |
| -only-testing:JSONParserTests \ | |
| -resultBundlePath TestResults.xcresult \ | |
| CODE_SIGNING_ALLOWED=NO \ | |
| EXCLUDED_SOURCE_FILE_NAMES='*.icon' | |
| - name: Upload test results | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results | |
| path: TestResults.xcresult | |
| if-no-files-found: ignore |