Skip to content

Commit 82801cf

Browse files
authored
Merge pull request SDWebImage#3801 from dreampiggy/ci/cd
ci: Fix the GitHub Action cd release
2 parents 803bcb9 + 69aa3bd commit 82801cf

File tree

4 files changed

+44
-14
lines changed

4 files changed

+44
-14
lines changed

.github/workflows/CD.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,20 @@ on:
55
# Pattern matched against refs/tags
66
tags:
77
- '*'
8+
pull_request:
9+
branches:
10+
- '*'
811

912
jobs:
1013
Release:
1114
name: Release XCFramework
1215
runs-on: macos-15
1316
env:
17+
LC_ALL: en_US.UTF-8
1418
CODESIGN_KEY_BASE64: "${{ secrets.CODESIGN_KEY_BASE64 }}"
1519
DEVELOPER_DIR: /Applications/Xcode_16.0.app
20+
XCODE_VERSION_MAJOR: 1600
21+
XCODE_VERSION_MINOR: 1600
1622
strategy:
1723
fail-fast: true
1824
matrix:
@@ -29,13 +35,15 @@ jobs:
2935
- name: Build XCFramework
3036
run: |
3137
set -o pipefail
38+
set -x
3239
export MACH_O_TYPE="${{ matrix.MACH_O_TYPE }}"
3340
./Scripts/build-frameworks.sh
3441
rm -rf ~/Library/Developer/Xcode/DerivedData/
3542
3643
- name: Create XCFramework
3744
run: |
3845
set -o pipefail
46+
set -x
3947
export MACH_O_TYPE="${{ matrix.MACH_O_TYPE }}"
4048
./Scripts/create-xcframework.sh
4149
./Scripts/sign-xcframework.sh

.github/workflows/CI.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
name: Cocoapods Lint
1717
runs-on: macos-15
1818
env:
19+
LC_ALL: en_US.UTF-8
1920
DEVELOPER_DIR: /Applications/Xcode_16.0.app
2021
steps:
2122
- name: Checkout
@@ -42,6 +43,7 @@ jobs:
4243
name: Cocoapods Demo
4344
runs-on: macos-15
4445
env:
46+
LC_ALL: en_US.UTF-8
4547
DEVELOPER_DIR: /Applications/Xcode_16.0.app
4648
WORKSPACE_NAME: SDWebImage.xcworkspace
4749
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -96,6 +98,7 @@ jobs:
9698
name: Unit Test
9799
runs-on: macos-15
98100
env:
101+
LC_ALL: en_US.UTF-8
99102
DEVELOPER_DIR: /Applications/Xcode_16.0.app
100103
WORKSPACE_NAME: SDWebImage.xcworkspace
101104
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -162,6 +165,7 @@ jobs:
162165
name: Build Library
163166
runs-on: macos-15
164167
env:
168+
LC_ALL: en_US.UTF-8
165169
DEVELOPER_DIR: /Applications/Xcode_16.0.app
166170
PROJECT_NAME: SDWebImage.xcodeproj
167171
SCHEME_NAME: SDWebImage

Scripts/build-frameworks.sh

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,33 @@
33
set -e
44
set -o pipefail
55

6-
XCODE_VERSION=$(xcodebuild -version | head -n 1| awk -F ' ' '{print $2}')
7-
XCODE_VERSION_MAJOR=$(echo $XCODE_VERSION | awk -F '.' '{print $1}')
8-
XCODE_VERSION_MINOR=$(echo $XCODE_VERSION | awk -F '.' '{print $2}')
9-
XCODE_VERSION_PATCH=$(echo $XCODE_VERSION | awk -F '.' '{print $3}')
10-
if [ -z "$SRCROOT" ]
6+
if [[ -z "$XCODE_VERSION_MAJOR" ]]
7+
then
8+
XCODE_VERSION_MAJOR=$(xcodebuild -showBuildSettings | awk -F= '/XCODE_VERSION_MAJOR/{x=$NF; gsub(/[^0-9]/,"",x); print int(x)}')
9+
fi
10+
if [[ -z "$XCODE_VERSION_MINOR" ]]
11+
then
12+
XCODE_VERSION_MINOR=$(xcodebuild -showBuildSettings | awk -F= '/XCODE_VERSION_MINOR/{x=$NF; gsub(/[^0-9]/,"",x); print int(x)}')
13+
fi
14+
XCODE_MAJOR=$(($XCODE_VERSION_MAJOR / 100))
15+
XCODE_MINOR=$(($XCODE_VERSION_MINOR / 10))
16+
XCODE_MINOR=$(($XCODE_MINOR % 10))
17+
echo "XCODE_MAJOR=$XCODE_MAJOR"
18+
echo "XCODE_MINOR=$XCODE_MINOR"
19+
if [[ -z "$SRCROOT" ]]
1120
then
1221
SRCROOT=$(pwd)
1322
fi
1423

1524
mkdir -p "${SRCROOT}/build"
1625
PLATFORMS=("iOS" "iOSSimulator" "macOS" "tvOS" "tvOSSimulator" "watchOS" "watchOSSimulator")
1726

18-
if [ $XCODE_VERSION_MAJOR -ge 11 ]
27+
if [ $XCODE_MAJOR -ge 11 ]
1928
then
2029
PLATFORMS+=("macCatalyst")
2130
fi
2231

23-
if [[ ($XCODE_VERSION_MAJOR -gt 15) || ($XCODE_VERSION_MAJOR -eq 15 && $XCODE_VERSION_MINOR -ge 2) ]]
32+
if [[ ($XCODE_MAJOR -gt 15) || ($XCODE_MAJOR -eq 15 && $XCODE_MINOR -ge 2) ]]
2433
then
2534
PLATFORMS+=("visionOS")
2635
PLATFORMS+=("visionOSSimulator")

Scripts/create-xcframework.sh

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,25 @@
33
set -e
44
set -o pipefail
55

6-
XCODE_VERSION=$(xcodebuild -version | head -n 1| awk -F ' ' '{print $2}')
7-
XCODE_VERSION_MAJOR=$(echo $XCODE_VERSION | awk -F '.' '{print $1}')
8-
XCODE_VERSION_MINOR=$(echo $XCODE_VERSION | awk -F '.' '{print $2}')
9-
XCODE_VERSION_PATCH=$(echo $XCODE_VERSION | awk -F '.' '{print $3}')
6+
if [[ -z "$XCODE_VERSION_MAJOR" ]]
7+
then
8+
XCODE_VERSION_MAJOR=$(xcodebuild -showBuildSettings | awk -F= '/XCODE_VERSION_MAJOR/{x=$NF; gsub(/[^0-9]/,"",x); print int(x)}')
9+
fi
10+
if [[ -z "$XCODE_VERSION_MINOR" ]]
11+
then
12+
XCODE_VERSION_MINOR=$(xcodebuild -showBuildSettings | awk -F= '/XCODE_VERSION_MINOR/{x=$NF; gsub(/[^0-9]/,"",x); print int(x)}')
13+
fi
14+
XCODE_MAJOR=$(($XCODE_VERSION_MAJOR / 100))
15+
XCODE_MINOR=$(($XCODE_VERSION_MINOR / 10))
16+
XCODE_MINOR=$(($XCODE_MINOR % 10))
17+
echo "XCODE_MAJOR=$XCODE_MAJOR"
18+
echo "XCODE_MINOR=$XCODE_MINOR"
1019
if [ -z "$SRCROOT" ]
1120
then
1221
SRCROOT=$(pwd)
1322
fi
1423

15-
if [ $XCODE_VERSION_MAJOR -lt 11 ]
24+
if [ $XCODE_MAJOR -lt 11 ]
1625
then
1726
echo "Xcode 10 does not support xcframework. You can still use the individual framework for each platform."
1827
open -a Finder "${SRCROOT}/build/"
@@ -22,12 +31,12 @@ fi
2231
mkdir -p "${SRCROOT}/build"
2332
PLATFORMS=("iOS" "iOSSimulator" "macOS" "tvOS" "tvOSSimulator" "watchOS" "watchOSSimulator")
2433

25-
if [ $XCODE_VERSION_MAJOR -ge 11 ]
34+
if [ $XCODE_MAJOR -ge 11 ]
2635
then
2736
PLATFORMS+=("macCatalyst")
2837
fi
2938

30-
if [[ ($XCODE_VERSION_MAJOR -gt 15) || ($XCODE_VERSION_MAJOR -eq 15 && $XCODE_VERSION_MINOR -ge 2) ]]
39+
if [[ ($XCODE_MAJOR -gt 15) || ($XCODE_MAJOR -eq 15 && $XCODE_MINOR -ge 2) ]]
3140
then
3241
PLATFORMS+=("visionOS")
3342
PLATFORMS+=("visionOSSimulator")

0 commit comments

Comments
 (0)