Skip to content

Commit 32455ba

Browse files
authored
Merge pull request #22 from amnezia-vpn/feature/win-ssl
Update Win OpenSSL and build shared libraries
2 parents 8144e24 + 2f3d563 commit 32455ba

File tree

1 file changed

+44
-28
lines changed

1 file changed

+44
-28
lines changed
Lines changed: 44 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1+
---
12
name: windows-openssl
2-
3-
4-
on: [push]
5-
3+
on:
4+
- push
65
jobs:
76
Build-Libs-OpenSSL-Win:
8-
name: 'Build-OpenSSL-Lib-Windows'
7+
name: Build-OpenSSL-Lib-Windows
98
runs-on: windows-latest
10-
if: |
9+
if: |+
1110
contains(github.event.head_commit.message, '[all]') ||
1211
contains(github.event.head_commit.message, '[windows]') ||
1312
contains(github.event.head_commit.message, '[windows-openssl]') ||
@@ -18,16 +17,18 @@ jobs:
1817
arch:
1918
- amd64
2019
- amd64_x86
20+
shared:
21+
- shared
22+
- no-shared
2123

2224
steps:
23-
- name: 'Get openssl'
25+
- name: Get openssl
2426
uses: actions/checkout@v3
2527
with:
2628
repository: openssl/openssl
27-
ref: openssl-3.0.13
29+
ref: openssl-3.0.16
2830
path: openssl
29-
30-
- name: Setup msbuild environment
31+
- name: Setup msbuild environment
3132
uses: ilammy/msvc-dev-cmd@v1
3233
with:
3334
arch: ${{ matrix.arch }}
@@ -38,7 +39,7 @@ jobs:
3839
with:
3940
distribution: strawberry
4041
- name: Build OpenSSL x86
41-
if: matrix.arch == 'amd64_x86'
42+
if: matrix.arch == 'amd64_x86' && matrix.shared == 'no-shared'
4243
run: |
4344
cd openssl
4445
@@ -48,8 +49,19 @@ jobs:
4849
mkdir build/win32
4950
move libcrypto.lib build/win32
5051
move libssl.lib build/win32
52+
- name: Build Shared OpenSSL x86
53+
if: matrix.arch == 'amd64_x86' && matrix.shared == 'shared'
54+
run: |
55+
cd openssl
56+
57+
perl Configure no-tests VC-WIN32
58+
nmake
59+
mkdir build
60+
mkdir build/win32
61+
move libcrypto-3.dll build/win32
62+
move libssl-3.dll build/win32
5163
- name: Build OpenSSL x64
52-
if: matrix.arch == 'amd64'
64+
if: matrix.arch == 'amd64' && matrix.shared == 'no-shared'
5365
run: |
5466
cd openssl
5567
@@ -60,41 +72,45 @@ jobs:
6072
move libcrypto.lib build/win64
6173
move libssl.lib build/win64
6274
move include build/include
63-
75+
- name: Build Shared OpenSSL x64
76+
if: matrix.arch == 'amd64' && matrix.shared == 'shared'
77+
run: |
78+
cd openssl
79+
80+
perl Configure no-tests VC-WIN64A
81+
nmake
82+
mkdir build
83+
mkdir build/win64
84+
move libcrypto-3-x64.dll build/win64
85+
move libssl-3-x64.dll build/win64
6486
- name: Archive Windows OpenSSL libs
65-
uses: actions/upload-artifact@v3
87+
uses: actions/upload-artifact@v4
6688
with:
6789
retention-days: 1
68-
name: windows-openssl
69-
path: openssl/build
70-
71-
90+
name: windows-openssl-${{ matrix.arch }}-${{ matrix.shared }}
91+
path: openssl/build
92+
7293
github-release:
7394
name: GitHub Release
7495
needs: Build-Libs-OpenSSL-Win
7596
runs-on: ubuntu-latest
7697
if: startsWith(github.ref, 'refs/tags/')
77-
7898
steps:
7999
- name: Setup | Checkout
80100
uses: actions/checkout@v2
81-
82101
- name: Setup | Artifacts
83-
uses: actions/download-artifact@v2
84-
102+
uses: actions/download-artifact@v4
85103
- name: Setup | Checksums
86-
run: for file in $(find ./ -name '*.lib' -or -name '*.dll' ); do openssl dgst -sha256 -r "$file" | awk '{print $1}' > "${file}.sha256"; done
87-
104+
run: for file in $(find ./ -name '*.lib' -or -name '*.dll' ); do openssl dgst
105+
-sha256 -r "$file" | awk '{print $1}' > "${file}.sha256"; done
88106
- name: Zip ALL
89107
run: for file in *; do zip -r ${file%.*}.zip $file; done
90-
91108
- name: Upload binaries to release
92109
uses: svenstaro/upload-release-action@v2
93110
with:
94111
repo_token: ${{ secrets.GITHUB_TOKEN }}
95-
file: windows-openssl.zip
112+
file: "*.zip"
96113
tag: ${{ github.ref }}
97114
overwrite: true
98-
file_glob: true
99-
115+
file_glob: true
100116

0 commit comments

Comments
 (0)