Fix the CI, re-enable GitHub Actions
This commit is contained in:
parent
a75add8e3a
commit
4b7cbfcf06
|
@ -0,0 +1,165 @@
|
||||||
|
name: "SDWebImageSwiftUI CI"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Pods:
|
||||||
|
name: Cocoapods Lint
|
||||||
|
runs-on: macos-11
|
||||||
|
env:
|
||||||
|
DEVELOPER_DIR: /Applications/Xcode_13.2.1.app
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install Cocoapods
|
||||||
|
run: gem install cocoapods --no-document --quiet
|
||||||
|
|
||||||
|
- name: Install Xcpretty
|
||||||
|
run: gem install xcpretty --no-document --quiet
|
||||||
|
|
||||||
|
- name: Run SDWebImageSwiftUI podspec lint
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
pod lib lint SDWebImageSwiftUI.podspec --allow-warnings --skip-tests
|
||||||
|
|
||||||
|
Demo:
|
||||||
|
name: Run Demo
|
||||||
|
runs-on: macos-11
|
||||||
|
env:
|
||||||
|
DEVELOPER_DIR: /Applications/Xcode_13.2.1.app
|
||||||
|
WORKSPACE_NAME: SDWebImageSwiftUI.xcworkspace
|
||||||
|
OSXSCHEME: SDWebImageSwiftUIDemo-macOS
|
||||||
|
iOSSCHEME: SDWebImageSwiftUIDemo
|
||||||
|
TVSCHEME: SDWebImageSwiftUIDemo-tvOS
|
||||||
|
WATCHSCHEME: SDWebImageSwiftUIDemo-watchOS WatchKit App
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
iosDestination: ["name=iPhone 13 Pro"]
|
||||||
|
tvOSDestination: ["name=Apple TV 4K"]
|
||||||
|
watchOSDestination: ["platform=watchOS Simulator,name=Apple Watch Series 7 - 45mm"]
|
||||||
|
macOSDestination: ["platform=macOS"]
|
||||||
|
macCatalystDestination: ["platform=macOS,arch=x86_64,variant=Mac Catalyst"]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install Cocoapods
|
||||||
|
run: gem install cocoapods --no-document --quiet
|
||||||
|
|
||||||
|
- name: Install Xcpretty
|
||||||
|
run: gem install xcpretty --no-document --quiet
|
||||||
|
|
||||||
|
- name: Pod Update
|
||||||
|
working-directory: ./Example
|
||||||
|
run: pod repo update --silent
|
||||||
|
|
||||||
|
- name: Pod Install
|
||||||
|
working-directory: ./Example
|
||||||
|
run: pod install
|
||||||
|
|
||||||
|
- name: Run demo for OSX
|
||||||
|
working-directory: ./Example
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "${{ env.OSXSCHEME }}" -destination "${{ matrix.macOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
|
||||||
|
|
||||||
|
- name: Run demo for iOS
|
||||||
|
working-directory: ./Example
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "${{ env.iOSSCHEME }}" -destination "${{ matrix.iosDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
|
||||||
|
|
||||||
|
- name: Run demo for TV
|
||||||
|
working-directory: ./Example
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "${{ env.TVSCHEME }}" -destination "${{ matrix.tvOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
|
||||||
|
|
||||||
|
- name: Run demo for Watch
|
||||||
|
working-directory: ./Example
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
xcodebuild build -workspace "${{ env.WORKSPACE_NAME }}" -scheme "${{ env.WATCHSCHEME }}" -destination "${{ matrix.watchOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
|
||||||
|
|
||||||
|
Test:
|
||||||
|
name: Unit Test
|
||||||
|
runs-on: macos-11
|
||||||
|
env:
|
||||||
|
DEVELOPER_DIR: /Applications/Xcode_13.2.1.app
|
||||||
|
PROJECT_NAME: SDWebImageSwiftUI.xcodeproj
|
||||||
|
OSXSCHEME: SDWebImageSwiftUITests macOS
|
||||||
|
iOSSCHEME: SDWebImageSwiftUITests
|
||||||
|
TVSCHEME: SDWebImageSwiftUITests tvOS
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
iosDestination: ["platform=iOS Simulator,name=iPhone 13 Pro"]
|
||||||
|
macOSDestination: ["platform=macOS,arch=x86_64"]
|
||||||
|
tvOSDestination: ["platform=tvOS Simulator,name=Apple TV 4K"]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install Carthage
|
||||||
|
run: brew install carthage
|
||||||
|
|
||||||
|
- name: Carthage Update
|
||||||
|
run: ./carthage.sh update --platform "iOS, tvOS, macOS"
|
||||||
|
|
||||||
|
- name: Clean DerivedData
|
||||||
|
run: |
|
||||||
|
rm -rf ~/Library/Developer/Xcode/DerivedData/
|
||||||
|
mkdir DerivedData
|
||||||
|
|
||||||
|
- name: Test - ${{ matrix.iosDestination }}
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
xcodebuild test -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.iOSSCHEME }}" -destination "${{ matrix.iosDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
|
||||||
|
mv ~/Library/Developer/Xcode/DerivedData/ ./DerivedData/iOS
|
||||||
|
|
||||||
|
- name: Test - ${{ matrix.macOSDestination }}
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
xcodebuild test -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.OSXSCHEME }}" -destination "${{ matrix.macOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
|
||||||
|
mv ~/Library/Developer/Xcode/DerivedData/ ./DerivedData/macOS
|
||||||
|
|
||||||
|
- name: Test - ${{ matrix.tvOSDestination }}
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
xcodebuild test -project "${{ env.PROJECT_NAME }}" -scheme "${{ env.TVSCHEME }}" -destination "${{ matrix.tvOSDestination }}" -configuration Debug CODE_SIGNING_ALLOWED=NO | xcpretty -c
|
||||||
|
mv ~/Library/Developer/Xcode/DerivedData/ ./DerivedData/tvOS
|
||||||
|
|
||||||
|
- name: Code Coverage
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
export PATH="/usr/local/opt/curl/bin:$PATH"
|
||||||
|
curl --version
|
||||||
|
bash <(curl -s https://codecov.io/bash) -D './DerivedData/macOS' -J '^SDWebImageSwiftUI$' -c -X gcov -F macos
|
||||||
|
bash <(curl -s https://codecov.io/bash) -D './DerivedData/iOS' -J '^SDWebImageSwiftUI$' -c -X gcov -F ios
|
||||||
|
bash <(curl -s https://codecov.io/bash) -D './DerivedData/tvOS' -J '^SDWebImageSwiftUI$' -c -X gcov -F tvos
|
||||||
|
|
||||||
|
Build:
|
||||||
|
name: Build Library
|
||||||
|
runs-on: macos-11
|
||||||
|
env:
|
||||||
|
DEVELOPER_DIR: /Applications/Xcode_13.2.1.app
|
||||||
|
PROJECT_NAME: SDWebImageSwiftUI.xcodeproj
|
||||||
|
SCHEME_NAME: SDWebImageSwiftUI
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Build the SwiftPM
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
swift build
|
||||||
|
rm -rf ~/.build
|
|
@ -41,3 +41,4 @@ Podfile.lock
|
||||||
# SwiftPM
|
# SwiftPM
|
||||||
.build
|
.build
|
||||||
.swiftpm
|
.swiftpm
|
||||||
|
Package.resolved
|
||||||
|
|
|
@ -8,17 +8,17 @@ def all_pods
|
||||||
end
|
end
|
||||||
|
|
||||||
target 'SDWebImageSwiftUIDemo' do
|
target 'SDWebImageSwiftUIDemo' do
|
||||||
platform :ios, '13.0'
|
platform :ios, '14.0'
|
||||||
all_pods
|
all_pods
|
||||||
end
|
end
|
||||||
|
|
||||||
target 'SDWebImageSwiftUIDemo-macOS' do
|
target 'SDWebImageSwiftUIDemo-macOS' do
|
||||||
platform :osx, '10.15'
|
platform :osx, '11.0'
|
||||||
all_pods
|
all_pods
|
||||||
end
|
end
|
||||||
|
|
||||||
target 'SDWebImageSwiftUIDemo-tvOS' do
|
target 'SDWebImageSwiftUIDemo-tvOS' do
|
||||||
platform :tvos, '13.0'
|
platform :tvos, '14.0'
|
||||||
all_pods
|
all_pods
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -961,7 +961,7 @@
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
INFOPLIST_FILE = "SDWebImageSwiftUIDemo-macOS/Info.plist";
|
INFOPLIST_FILE = "SDWebImageSwiftUIDemo-macOS/Info.plist";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.dreampiggy.SDWebImageSwiftUIDemo-macOS";
|
PRODUCT_BUNDLE_IDENTIFIER = "com.dreampiggy.SDWebImageSwiftUIDemo-macOS";
|
||||||
|
@ -993,7 +993,7 @@
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
INFOPLIST_FILE = "SDWebImageSwiftUIDemo-macOS/Info.plist";
|
INFOPLIST_FILE = "SDWebImageSwiftUIDemo-macOS/Info.plist";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.dreampiggy.SDWebImageSwiftUIDemo-macOS";
|
PRODUCT_BUNDLE_IDENTIFIER = "com.dreampiggy.SDWebImageSwiftUIDemo-macOS";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
@ -1030,7 +1030,7 @@
|
||||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
TARGETED_DEVICE_FAMILY = 3;
|
TARGETED_DEVICE_FAMILY = 3;
|
||||||
TVOS_DEPLOYMENT_TARGET = 13.0;
|
TVOS_DEPLOYMENT_TARGET = 14.0;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -1059,7 +1059,7 @@
|
||||||
SDKROOT = appletvos;
|
SDKROOT = appletvos;
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
TARGETED_DEVICE_FAMILY = 3;
|
TARGETED_DEVICE_FAMILY = 3;
|
||||||
TVOS_DEPLOYMENT_TARGET = 13.0;
|
TVOS_DEPLOYMENT_TARGET = 14.0;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
"object": {
|
|
||||||
"pins": [
|
|
||||||
{
|
|
||||||
"package": "ViewInspector",
|
|
||||||
"repositoryURL": "https://github.com/nalexn/ViewInspector.git",
|
|
||||||
"state": {
|
|
||||||
"branch": null,
|
|
||||||
"revision": "7d55eb940242512aad2bf28db354d09d5de43893",
|
|
||||||
"version": "0.3.11"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"version": 1
|
|
||||||
}
|
|
|
@ -9,11 +9,9 @@ trap 'rm -f "$xcconfig"' INT TERM HUP EXIT
|
||||||
# For Xcode 12 make sure EXCLUDED_ARCHS is set to arm architectures otherwise
|
# For Xcode 12 make sure EXCLUDED_ARCHS is set to arm architectures otherwise
|
||||||
# the build will fail on lipo due to duplicate architectures.
|
# the build will fail on lipo due to duplicate architectures.
|
||||||
|
|
||||||
CURRENT_XCODE_VERSION=$(xcodebuild -version | grep "Build version" | cut -d' ' -f3)
|
echo 'EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 arm64e armv7 armv7s armv6 armv8' >> $xcconfig
|
||||||
echo "EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_$CURRENT_XCODE_VERSION = arm64 arm64e armv7 armv7s armv6 armv8" >> $xcconfig
|
echo 'EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 arm64e armv7 armv7s armv6 armv8' >> $xcconfig
|
||||||
|
echo 'EXCLUDED_ARCHS[sdk=watchsimulator*] = arm64 arm64e armv7 armv7s armv6 armv8' >> $xcconfig
|
||||||
echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200 = $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_$(XCODE_PRODUCT_BUILD_VERSION))' >> $xcconfig
|
|
||||||
echo 'EXCLUDED_ARCHS = $(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT)__XCODE_$(XCODE_VERSION_MAJOR))' >> $xcconfig
|
|
||||||
|
|
||||||
export XCODE_XCCONFIG_FILE="$xcconfig"
|
export XCODE_XCCONFIG_FILE="$xcconfig"
|
||||||
carthage "$@"
|
carthage "$@"
|
Loading…
Reference in New Issue