diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml new file mode 100644 index 00000000..c66dc8d5 --- /dev/null +++ b/.buildkite/pipeline.yml @@ -0,0 +1,9 @@ +agents: + queue: "macOS-Monterey-12-4" + +steps: + - command: "./scripts/run-unit-tests.sh MuxUploadSDK" + label: ":xcode_simulator: Unit Tests" + - wait + - command: "./scripts/version-check.sh" + label: ":clipboard: Version Check" diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml deleted file mode 100644 index 0b5a25df..00000000 --- a/.github/workflows/run-tests.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Run Tests - -on: - push: - -jobs: - unit-tests: - name: Run Unit Tests - runs-on: macos-14 - steps: - - name: Install xcbeautify - run: brew install xcbeautify - - name: Checkout - uses: actions/checkout@v3 - - name: Run Tests - run: "scripts/run-unit-tests.sh MuxUploadSDK" diff --git a/.github/workflows/validate-release.yml b/.github/workflows/validate-release.yml deleted file mode 100644 index 95a91b70..00000000 --- a/.github/workflows/validate-release.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Validate release - -on: - push: - branches: - - 'releases/**' - -jobs: - versioncheck: - runs-on: macos-latest - name: Validate Versions - steps: - - name: Compare Podspec Version - uses: actions/checkout@v2 - - name: Run Version Check Script - run: ./scripts/version-check.sh - diff --git a/scripts/run-unit-tests.sh b/scripts/run-unit-tests.sh index e87c6b79..b98197fb 100755 --- a/scripts/run-unit-tests.sh +++ b/scripts/run-unit-tests.sh @@ -17,10 +17,6 @@ then exit 1 fi -echo "▸ Selecting Xcode 15.4" - -sudo xcode-select -s /Applications/Xcode_15.4.app/Contents/Developer - echo "▸ Using Xcode Version: ${XCODE}" echo "▸ Available Xcode SDKs" @@ -40,5 +36,5 @@ echo "▸ Test ${SCHEME}" xcodebuild clean test \ -scheme $SCHEME \ -destination 'platform=iOS Simulator,OS=17.5,name=iPhone 15' \ - -sdk iphonesimulator17.5 \ + -sdk iphonesimulator18.0 \ | xcbeautify diff --git a/scripts/version-check.sh b/scripts/version-check.sh index b7beab7b..977900e9 100755 --- a/scripts/version-check.sh +++ b/scripts/version-check.sh @@ -7,14 +7,26 @@ cocoapod_spec_version=$(grep -Eo '\b[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+)?(\+[0 echo "Detected Cocoapod Spec Version: ${cocoapod_spec_version}" -# Checks branch name for a v followed by a semantic version MAJOR.MINOR.PATCH string -release_version=$(git branch --show-current | sed -E 's/.*v([0-9]+\.[0-9]+\.[0-9]+).*/\1/') +SEMANTIC_VERSION_FILE=Sources/MuxUploadSDK/PublicAPI/SemanticVersion.swift -echo "Inferred Release Version: ${release_version}" +release_version=$(awk ' + /let major/ { gsub(/[^0-9]/, "", $0); major = $0 } + /let minor/ { gsub(/[^0-9]/, "", $0); minor = $0 } + /let patch/ { gsub(/[^0-9]/, "", $0); patch = $0 } + END { + if (major && minor && patch) { + print major "." minor "." patch + } else { + print "Error: Version information not found" + } + } +' <(grep -E 'let major|let minor|let patch' "$SEMANTIC_VERSION_FILE")) + +echo "Release version found in ${SEMANTIC_VERSION_FILE}: ${release_version}" if [ "${cocoapod_spec_version}" == "${release_version}" ]; then echo "Versions match" else - echo "Versions do not match, please update ${COCOAPOD_SPEC} to ${release_version}" + echo "Versions do not match, please fix up ${COCOAPOD_SPEC} or ${release_version} to be consistent" exit 1 fi