refactor: Remove extra Hashable conformance for ParseObject (#182) #701
This file contains 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: ci | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: '*' | |
merge_group: | |
branches: [ main ] | |
env: | |
CI_XCODE_OLDEST: '/Applications/Xcode_14.2.app/Contents/Developer' | |
CI_XCODE_14: '/Applications/Xcode_14.3.1.app/Contents/Developer' | |
CI_XCODE_LATEST: '/Applications/Xcode_15.4.app/Contents/Developer' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
timeout-minutes: 25 | |
runs-on: macos-14 | |
strategy: | |
matrix: | |
destination: ['platform=iOS\ Simulator,OS=17.5,name=iPhone\ 15\ Pro\ Max', 'platform\=tvOS\ Simulator,OS=17.5,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 9\ \(41mm\)', 'platform=macOS', 'platform=visionOS\ Simulator,OS=1.2,name=Apple\ Vision\ Pro'] | |
action: ['test', 'build'] | |
exclude: | |
- destination: 'platform=iOS\ Simulator,OS=17.5,name=iPhone\ 15\ Pro\ Max' | |
action: 'build' | |
- destination: 'platform\=tvOS\ Simulator,OS=17.5,name\=Apple\ TV' | |
action: 'build' | |
- destination: 'platform=macOS' | |
action: 'build' | |
- destination: 'platform=visionOS\ Simulator,OS=1.2,name=Apple\ Vision\ Pro' | |
action: 'test' | |
- destination: 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 9\ \(41mm\)' | |
action: 'test' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Extra Packages | |
run: brew install swiftlint | |
- name: Create and set the default keychain | |
run: | | |
security create-keychain -p "" temporary | |
security default-keychain -s temporary | |
security unlock-keychain -p "" temporary | |
security set-keychain-settings -lut 7200 temporary | |
- name: Build-Test | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift -derivedDataPath DerivedData -destination ${{ matrix.destination }} ${{ matrix.action }} 2>&1 | xcbeautify --renderer github-actions | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
- name: Prepare codecov | |
uses: sersoft-gmbh/swift-coverage-action@v4 | |
id: coverage-files | |
with: | |
format: lcov | |
search-paths: ./DerivedData | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
files: ${{join(fromJSON(steps.coverage-files.outputs.files), ',')}} | |
fail_ci_if_error: false | |
token: ${{ secrets.CODECOV_TOKEN }} | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
spm-test: | |
timeout-minutes: 25 | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Create and set the default keychain | |
run: | | |
security create-keychain -p "" temporary | |
security default-keychain -s temporary | |
security unlock-keychain -p "" temporary | |
security set-keychain-settings -lut 7200 temporary | |
- name: Install SwiftLint | |
run: brew install swiftlint | |
- name: Build-Test | |
run: set -o pipefail && env NSUnbufferedIO=YES swift test --enable-code-coverage 2>&1 | xcbeautify --renderer github-actions | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
- name: Prepare codecov | |
uses: sersoft-gmbh/swift-coverage-action@v4 | |
id: coverage-files | |
with: | |
format: lcov | |
search-paths: ./.build | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
files: ${{join(fromJSON(steps.coverage-files.outputs.files), ',')}} | |
env_vars: SPM | |
fail_ci_if_error: false | |
token: ${{ secrets.CODECOV_TOKEN }} | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
xcode-test-5_7: | |
timeout-minutes: 25 | |
needs: linux | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build-Test | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift -destination platform\=iOS\ Simulator,name\=iPhone\ 13\ Pro\ Max -derivedDataPath DerivedData build 2>&1 | xcbeautify --renderer github-actions | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_OLDEST }} | |
linux: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: sersoft-gmbh/swifty-linux-action@v3 | |
with: | |
release-version: "5" | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and Test | |
run: swift test --enable-test-discovery --enable-code-coverage -v | |
- name: Prepare codecov | |
run: | | |
cat .codecov.yml | curl --data-binary @- https://codecov.io/validate | |
llvm-cov export -format="lcov" .build/x86_64-unknown-linux-gnu/debug/ParseSwiftPackageTests.xctest -instr-profile .build/x86_64-unknown-linux-gnu/debug/codecov/default.profdata > info_linux.lcov | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
env_vars: LINUX | |
fail_ci_if_error: true | |
token: ${{ secrets.CODECOV_TOKEN }} | |
windows: | |
timeout-minutes: 15 | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: compnerd/[email protected] | |
with: | |
branch: swift-5.10.1-release | |
tag: 5.10.1-RELEASE | |
- name: Build | |
run: | | |
swift build --enable-test-discovery -v | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
env_vars: WINDOWSLATEST | |
fail_ci_if_error: false | |
token: ${{ secrets.CODECOV_TOKEN }} | |
docs: | |
timeout-minutes: 10 | |
needs: linux | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Generate Docs | |
run: set -o pipefail && env NSUnbufferedIO=YES Scripts/generate-documentation | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
cocoapods: | |
needs: linux | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Framework Version | |
run: ./Scripts/update_build | |
env: | |
BUILD_VERSION: '4.16.2' | |
- name: CocoaPods | |
run: pod lib lint --allow-warnings | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} |