@@ -3,91 +3,23 @@ name: Binary Release
3
3
on :
4
4
push :
5
5
branches :
6
- - ' master'
6
+ - " master"
7
7
paths :
8
- - ' .version'
8
+ - " .version"
9
9
10
10
jobs :
11
11
publish_binary_release :
12
12
name : Publish binary release
13
13
runs-on : macos-14
14
+ timeout-minutes : 60
14
15
steps :
16
+ - uses : actions/checkout@v4
15
17
- uses : maxim-lobanov/setup-xcode@v1
16
18
with :
17
19
xcode-version : " 15.2"
18
- - uses : actions/checkout@v2
19
- - name : Build OpenSSL
20
- id : lib
21
- timeout-minutes : 60
22
- run : |
23
- source scripts/get-openssl-version.sh
24
-
25
- COMPOUND_VERSION=`cat .version`
26
- OPENSSL_VERSION=${COMPOUND_VERSION%-*}
27
- SCRIPT_VERSION=${COMPOUND_VERSION#*-}
28
- TAG_NAME=$(get_openssl_version $OPENSSL_VERSION $SCRIPT_VERSION)
29
-
30
- echo "Compiling OpenSSL $OPENSSL_VERSION"
31
- ./build-libssl.sh --cleanup --version="$OPENSSL_VERSION"
32
-
33
- echo "tag=$TAG_NAME" >> $GITHUB_OUTPUT
34
- echo "openssl_version=$OPENSSL_VERSION" >> $GITHUB_OUTPUT
35
- echo "script_version=$SCRIPT_VERSION" >> $GITHUB_OUTPUT
36
- - name : Produce dynamic framework
37
- id : framework
38
- env :
39
- FRAMEWORK_DIR : " frameworks"
40
- FRAMEWORK : " openssl.xcframework"
41
- run : |
42
- ./create-openssl-framework.sh
43
- ( cd $FRAMEWORK_DIR && zip -yr $FRAMEWORK.zip $FRAMEWORK )
44
-
45
- echo "artifact=$FRAMEWORK_DIR/$FRAMEWORK.zip" >> $GITHUB_OUTPUT
46
- - name : Import GPG key
47
- uses : crazy-max/ghaction-import-gpg@v4
48
- with :
49
- gpg_private_key : ${{ secrets.GPG_KEY }}
50
- passphrase : ${{ secrets.GPG_PASSPHRASE }}
51
- git_user_signingkey : true
52
- git_commit_gpgsign : true
53
- git_tag_gpgsign : true
54
- git_push_gpgsign : false
55
- - name : Update Package.swift
56
- id : package
57
- env :
58
- TAG_NAME : ${{ steps.lib.outputs.tag }}
59
- OPENSSL_VERSION : ${{ steps.lib.outputs.openssl_version }}
60
- SCRIPT_VERSION : ${{ steps.lib.outputs.script_version }}
61
- PACKAGE_METADATA : " Package.swift"
62
- PACKAGE_ARTIFACT : ${{ steps.framework.outputs.artifact }}
63
- PACKAGE_CHECKSUM : ${{ steps.framework.outputs.artifact }}.checksum
64
- run : |
65
- CHECKSUM=`swift package compute-checksum "$PACKAGE_ARTIFACT"`
66
- echo $CHECKSUM >$PACKAGE_CHECKSUM
67
-
68
- sed -E "s@/[0-9\.]+/(openssl.xcframework.zip)@/$TAG_NAME/\\1@" $PACKAGE_METADATA |
69
- sed -E "s/checksum: \"[0-9a-f]+\"/checksum: \"$CHECKSUM\"/" >$PACKAGE_METADATA.tmp
70
- mv $PACKAGE_METADATA.tmp $PACKAGE_METADATA
71
-
72
- RELEASE_NAME="OpenSSL $OPENSSL_VERSION"
73
- if [ $SCRIPT_VERSION -gt 0 ]; then
74
- RELEASE_NAME="$RELEASE_NAME ($SCRIPT_VERSION)"
75
- fi
76
-
77
- git add $PACKAGE_METADATA
78
- git commit -m "$RELEASE_NAME"
79
- git tag "$TAG_NAME" -m "$RELEASE_NAME"
80
- git push && git push --tags
81
-
82
- echo "release_name=$RELEASE_NAME" >> $GITHUB_OUTPUT
83
- echo "release_notes=$RELEASE_NOTES" >> $GITHUB_OUTPUT
84
- echo "checksum=$PACKAGE_CHECKSUM" >> $GITHUB_OUTPUT
85
- - name : Publish release
86
- uses : softprops/action-gh-release@v1
20
+ - uses : passepartoutvpn/action-release-binary-package@master
87
21
with :
88
- name : ${{ steps.package.outputs.release_name }}
89
- tag_name : ${{ steps.lib.outputs.tag }}
90
- generate_release_notes : true
91
- files : |
92
- ${{ steps.framework.outputs.artifact }}
93
- ${{ steps.package.outputs.checksum }}
22
+ script : " ci-generate.sh"
23
+ framework : " openssl.xcframework"
24
+ gpg-key : ${{ secrets.GPG_KEY }}
25
+ gpg-passphrase : ${{ secrets.GPG_PASSPHRASE }}
0 commit comments