Skip to content

Commit 8144e24

Browse files
Merge pull request #21 from amnezia-vpn/bugfix/openvpn-adapter-export
2 parents 65100db + c4d2334 commit 8144e24

File tree

1 file changed

+45
-57
lines changed

1 file changed

+45
-57
lines changed

.github/workflows/build_openvpnadapter_apple.yml

Lines changed: 45 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)