Add random date generation #50
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: Verify Changes | |
| on: | |
| merge_group: | |
| pull_request: | |
| branches: "**" | |
| push: | |
| branches: ["main"] | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: macos-26 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Select Xcode 26.0.0 | |
| run: | | |
| sudo xcode-select -s /Applications/Xcode_26.0.0.app | |
| - name: Lint | |
| run: | | |
| Scripts/lint | |
| build-and-test: | |
| name: Build and Test (${{ matrix.platform }}) | |
| needs: lint | |
| runs-on: macos-26 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # - platform: iOS | |
| # xcode_destination: "platform=iOS Simulator,name=iPhone 16 Pro" | |
| - platform: macOS | |
| xcode_destination: "platform=macOS,arch=arm64" | |
| # - platform: tvOS | |
| # xcode_destination: "platform=tvOS Simulator,name=Apple TV 4K (3rd generation)" | |
| # - platform: watchOS | |
| # xcode_destination: "platform=watchOS Simulator,name=Apple Watch Series 10 (46mm)" | |
| env: | |
| DEV_BUILDS: DevBuilds/Sources | |
| OTHER_XCBEAUTIFY_FLAGS: --renderer github-actions | |
| XCCOV_PRETTY_VERSION: 1.2.0 | |
| XCODE_SCHEME: DevTesting | |
| XCODE_DESTINATION: ${{ matrix.xcode_destination }} | |
| XCODE_TEST_PLAN: DevTesting | |
| XCODE_TEST_PRODUCTS_PATH: .build/DevTesting.xctestproducts | |
| steps: | |
| - name: Select Xcode 26.0.0 | |
| run: | | |
| sudo xcode-select -s /Applications/Xcode_26.0.0.app | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Checkout DevBuilds | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: DevKitOrganization/DevBuilds | |
| path: DevBuilds | |
| - name: Restore XCTestProducts | |
| if: github.event_name != 'push' | |
| id: cache-xctestproducts-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: ${{ env.XCODE_TEST_PRODUCTS_PATH }} | |
| key: cache-xctestproducts-${{ github.workflow }}-${{ matrix.platform }}-${{ github.sha }} | |
| - uses: irgaly/xcode-cache@v1 | |
| if: steps.cache-xctestproducts-restore.outputs.cache-hit != 'true' | |
| with: | |
| key: xcode-cache-deriveddata-${{ github.workflow }}-${{ matrix.platform }}-${{ github.sha }} | |
| restore-keys: | | |
| xcode-cache-deriveddata-${{ github.workflow }}-${{ matrix.platform }}- | |
| xcode-cache-deriveddata- | |
| deriveddata-directory: .build/DerivedData | |
| sourcepackages-directory: .build/DerivedData/SourcePackages | |
| swiftpm-package-resolved-file: Package.resolved | |
| verbose: true | |
| - name: Build for Testing | |
| id: build-for-testing | |
| if: steps.cache-xctestproducts-restore.outputs.cache-hit != 'true' | |
| run: ${{ env.DEV_BUILDS }}/build_and_test.sh --action build-for-testing | |
| - name: Test Without Building | |
| id: test-without-building | |
| if: github.event_name != 'push' | |
| run: ${{ env.DEV_BUILDS }}/build_and_test.sh --action test-without-building | |
| - name: Save XCTestProducts | |
| if: failure() && steps.cache-xctestproducts-restore.outputs.cache-hit != 'true' | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: ${{ env.XCODE_TEST_PRODUCTS_PATH }} | |
| key: ${{ steps.cache-xctestproducts-restore.outputs.cache-primary-key }} | |
| - name: Log Code Coverage | |
| if: github.event_name != 'push' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| gh release download ${{ env.XCCOV_PRETTY_VERSION }} \ | |
| --repo DevKitOrganization/xccovPretty \ | |
| --pattern "xccovPretty-macos.tar.gz" \ | |
| -O - \ | |
| | tar -xz | |
| chmod +x xccovPretty | |
| xcrun xccov view --report .build/DevTesting_test-without-building.xcresult --json \ | |
| | ./xccovPretty --github-comment \ | |
| > .build/xccovPretty-${{ matrix.platform }}.output | |
| - name: Upload Logs and XCResults | |
| if: success() || failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Logs_and_XCResults-${{ matrix.platform }} | |
| path: | | |
| .build/*.log | |
| .build/*.xcresult | |
| include-hidden-files: true | |
| - name: Upload xccovPretty output | |
| if: github.event_name != 'push' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: xccovPrettyOutput-${{ matrix.platform }} | |
| path: .build/xccovPretty-${{ matrix.platform }}.output | |
| include-hidden-files: true | |
| post-pr-comments: | |
| name: Post PR Comments | |
| needs: build-and-test | |
| if: ${{ github.event_name == 'pull_request' }} | |
| permissions: | |
| pull-requests: write | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download xccovPretty output | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: xccovPrettyOutput-macOS | |
| - name: Post Code Coverage Comment | |
| uses: thollander/actions-comment-pull-request@v3 | |
| with: | |
| file-path: xccovPretty-macOS.output | |
| comment-tag: codeCoverage-macOS |