@@ -20,54 +20,43 @@ jobs:
2020 ref : master-amnezia
2121 submodules : recursive
2222
23- - name : Configure amnezia.xcconfig
24- run : |
25- WORKINGDIR=$(pwd)
26- echo "Configuring amnezia.xcconfig…"
27- cat << EOF > $WORKINGDIR/OpenVPNAdapter/Configuration/amnezia.xcconfig
28- PROJECT_TEMP_DIR = $WORKINGDIR/OpenVPNAdapter/build/OpenVPNAdapter.build
29- CONFIGURATION_BUILD_DIR = $WORKINGDIR/OpenVPNAdapter/build/Release-macos
30- BUILT_PRODUCTS_DIR = $WORKINGDIR/OpenVPNAdapter/build/Release-macos
31- SKIP_INSTALL = NO
32- BUILD_LIBRARY_FOR_DISTRIBUTION = YES
33- CODE_SIGNING_ALLOWED = NO
34- CODE_SIGNING_REQUIRED = NO
35- EOF
36-
37- - name : Print macOS SDK Version
38- run : |
39- MACOSX_SDK=$(xcrun --sdk macosx --show-sdk-path | sed -E 's/.*MacOSX([0-9]+\.[0-9]+)\.sdk/\1/')
40- echo "Using macOS SDK version: $MACOSX_SDK"
41-
4223 - name : Build OpenVPNAdapter for macOS
4324 run : |
4425 echo "Building OpenVPNAdapter for macOS…"
4526 xcrun xcodebuild \
4627 -project OpenVPNAdapter/OpenVPNAdapter.xcodeproj \
47- -xcconfig OpenVPNAdapter/Configuration/amnezia.xcconfig \
4828 -scheme OpenVPNAdapter \
4929 -destination 'generic/platform=macOS' \
5030 -configuration Release \
51- -sdk macosx
31+ -sdk macosx \
32+ PROJECT_TEMP_DIR=$(pwd)/OpenVPNAdapter/build/OpenVPNAdapter.build \
33+ CONFIGURATION_BUILD_DIR=$(pwd)/OpenVPNAdapter/build/Release-macos \
34+ BUILT_PRODUCTS_DIR=$(pwd)/OpenVPNAdapter/build/Release-macos \
35+ SKIP_INSTALL=NO \
36+ BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
37+ CODE_SIGNING_ALLOWED=NO \
38+ CODE_SIGNING_REQUIRED=NO
5239
5340 - name : Generate Checksums for OpenVPNAdapter.framework
5441 run : |
55- export WORKINGDIR=`pwd`
56- if [ -d "$WORKINGDIR/OpenVPNAdapter/build/Release-macos/OpenVPNAdapter.framework" ]; then
42+ if [ -d "$(pwd)/OpenVPNAdapter/build/Release-macos/OpenVPNAdapter.framework" ]; then
5743 echo "Generating checksums for OpenVPNAdapter.framework…"
58- find $WORKINGDIR /OpenVPNAdapter/build/Release-macos \
44+ find $(pwd) /OpenVPNAdapter/build/Release-macos \
5945 -type f \
6046 -exec sh -c 'openssl dgst -sha256 -r "$1" > "$1.sha256"' _ {} \;
6147 else
62- echo "Directory $WORKINGDIR /OpenVPNAdapter/build/Release-macos/OpenVPNAdapter.framework does not exist."
48+ echo "Directory $(pwd) /OpenVPNAdapter/build/Release-macos/OpenVPNAdapter.framework does not exist."
6349 exit 1
6450 fi
6551
66- - name : Archive Build
52+ - name : Create tarball preserving symlinks
53+ run : tar -cvf OpenVPNAdapter-macos.tar -C OpenVPNAdapter/build/Release-macos .
54+
55+ - name : Upload Artifact
6756 uses : actions/upload-artifact@v4
6857 with :
6958 name : OpenVPNAdapter-macos
70- path : ' OpenVPNAdapter/build/Release -macos'
59+ path : OpenVPNAdapter-macos.tar
7160
7261 build-ios :
7362 name : ' OpenVPNAdapter for iOS'
@@ -87,49 +76,42 @@ jobs:
8776 path : OpenVPNAdapter
8877 submodules : recursive
8978
90- - name : Configure amnezia.xcconfig
91- run : |
92- WORKINGDIR=$(pwd)
93- echo "Configuring amnezia.xcconfig…"
94- cat << EOF > $WORKINGDIR/OpenVPNAdapter/Configuration/amnezia.xcconfig
95- PROJECT_TEMP_DIR = $WORKINGDIR/OpenVPNAdapter/build/OpenVPNAdapter.build
96- CONFIGURATION_BUILD_DIR = $WORKINGDIR/OpenVPNAdapter/build/Release-iphoneos
97- BUILT_PRODUCTS_DIR = $WORKINGDIR/OpenVPNAdapter/build/Release-iphoneos
98- SKIP_INSTALL = NO
99- BUILD_LIBRARY_FOR_DISTRIBUTION = YES
100- CODE_SIGNING_ALLOWED = NO
101- CODE_SIGNING_REQUIRED = NO
102- EOF
103-
10479 - name : Build OpenVPNAdapter for iOS
10580 run : |
10681 echo "Building OpenVPNAdapter for iOS…"
10782 xcrun xcodebuild \
10883 -project OpenVPNAdapter/OpenVPNAdapter.xcodeproj \
109- -xcconfig OpenVPNAdapter/Configuration/amnezia.xcconfig \
11084 -scheme OpenVPNAdapter \
11185 -destination 'generic/platform=iOS' \
11286 -configuration Release \
113- -sdk iphoneos
87+ -sdk iphoneos \
88+ PROJECT_TEMP_DIR=$(pwd)/OpenVPNAdapter/build/OpenVPNAdapter.build \
89+ CONFIGURATION_BUILD_DIR=$(pwd)/OpenVPNAdapter/build/Release-iphoneos \
90+ BUILT_PRODUCTS_DIR=$(pwd)/OpenVPNAdapter/build/Release-iphoneos \
91+ SKIP_INSTALL=NO \
92+ BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
93+ CODE_SIGNING_ALLOWED=NO \
94+ CODE_SIGNING_REQUIRED=NO
11495
11596 - name : Generate Checksums for OpenVPNAdapter.framework
11697 run : |
117- export WORKINGDIR=`pwd`
118- if [ -d "$WORKINGDIR/OpenVPNAdapter/build/Release-iphoneos/OpenVPNAdapter.framework" ]; then
98+ if [ -d "$(pwd)/OpenVPNAdapter/build/Release-iphoneos/OpenVPNAdapter.framework" ]; then
11999 echo "Generating checksums for OpenVPNAdapter.framework…"
120- find $WORKINGDIR/OpenVPNAdapter/build/Release-iphoneos \
121- -type f \
122- -exec sh -c 'openssl dgst -sha256 -r "$1" > "$1.sha256"' _ {} \;
100+ find "$(pwd)/OpenVPNAdapter/build/Release-iphoneos" -type f -exec sh -c \
101+ 'if [ ! -L "$1" ]; then openssl dgst -sha256 -r "$1" > "$1.sha256"; fi' _ {} \;
123102 else
124- echo "Directory $WORKINGDIR /OpenVPNAdapter/build/Release-iphoneos/OpenVPNAdapter.framework does not exist."
103+ echo "Directory $(pwd) /OpenVPNAdapter/build/Release-iphoneos/OpenVPNAdapter.framework does not exist."
125104 exit 1
126105 fi
127106
128- - name : Archive Build
107+ - name : Create tarball preserving symlinks
108+ run : tar -cvf OpenVPNAdapter-ios.tar -C OpenVPNAdapter/build/Release-iphoneos .
109+
110+ - name : Upload Artifact
129111 uses : actions/upload-artifact@v4
130112 with :
131113 name : OpenVPNAdapter-ios
132- path : ' OpenVPNAdapter/build/Release-iphoneos '
114+ path : OpenVPNAdapter-ios.tar
133115
134116 github-release :
135117 name : GitHub Release
@@ -146,22 +128,28 @@ jobs:
146128 name : OpenVPNAdapter-ios
147129 path : openvpnadapter-ios/
148130
131+ - name : Extract iOS Artifact
132+ run : tar -xvf openvpnadapter-ios/OpenVPNAdapter-ios.tar -C openvpnadapter-ios/
133+
149134 - name : Download macOS Artifact
150135 uses : actions/download-artifact@v4
151136 with :
152137 name : OpenVPNAdapter-macos
153138 path : openvpnadapter-macos/
154139
140+ - name : Extract macOS Artifact
141+ run : tar -xvf openvpnadapter-macos/OpenVPNAdapter-macos.tar -C openvpnadapter-macos/
142+
155143 - name : Create Combined Folder
156144 run : |
157145 mkdir -p openvpnadapter/ios
158146 mkdir -p openvpnadapter/macos
159- cp -r openvpnadapter-ios/* openvpnadapter/ios/
160- cp -r openvpnadapter-macos/* openvpnadapter/macos/
147+ rsync -a openvpnadapter-ios/ openvpnadapter/ios/
148+ rsync -a openvpnadapter-macos/ openvpnadapter/macos/
161149
162- - name : Zip Combined Artifacts
150+ - name : Archive using tar
163151 run : |
164- zip -r openvpnadapter.zip openvpnadapter/
152+ tar -czf openvpnadapter.tar.gz openvpnadapter/
165153 shell : bash
166154
167155 - name : List Generated Files
@@ -173,5 +161,5 @@ jobs:
173161 repo_token : ${{ secrets.GITHUB_TOKEN }}
174162 tag : ${{ github.ref }}
175163 overwrite : true
176- file : openvpnadapter.zip
177- file_glob : false
164+ file : openvpnadapter.tar.gz
165+ file_glob : false
0 commit comments