-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
dc2f693
commit 3e6ac5c
Showing
2 changed files
with
118 additions
and
127 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
name: Auto build for macOS & Ubuntu | ||
name: Build and upload artifacts | ||
|
||
on: | ||
push: | ||
|
@@ -55,3 +55,120 @@ jobs: | |
with: | ||
name: Pcap_DNSProxy-bin-Ubuntu | ||
path: Source/Release/ | ||
|
||
build-windows: | ||
env: | ||
VCPKG_ROOT: '${{ github.workspace }}\vcpkg' | ||
|
||
runs-on: windows-latest | ||
|
||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install MSBuild | ||
uses: microsoft/[email protected] | ||
|
||
- name: Restore vcpkg and its artifacts | ||
uses: actions/cache@v3 | ||
id: vcpkg-cache | ||
with: | ||
path: | | ||
${{ env.VCPKG_ROOT }} | ||
${{ env.VCPKG_ROOT }}\packages | ||
${{ env.VCPKG_ROOT }}\downloads | ||
!${{ env.VCPKG_ROOT }}\.git | ||
!${{ env.VCPKG_ROOT }}\buildtrees | ||
Source/Tools | ||
key: | | ||
${{ runner.os }}-ncpkg-dependencies-${{ hashFiles('.github/workflows/build.yml') }} | ||
- name: Install vcpkg | ||
if: ${{ steps.vcpkg-cache.outputs.cache-hit != 'true' }} | ||
run: | | ||
git clone https://github.com/Microsoft/vcpkg.git | ||
cd vcpkg | ||
.\bootstrap-vcpkg.bat | ||
.\vcpkg integrate install | ||
- name: Install dependencies with vcpkg | ||
if: ${{ steps.vcpkg-cache.outputs.cache-hit != 'true' }} | ||
run: | | ||
cd vcpkg | ||
.\vcpkg install libevent libpcap libsodium openssl | ||
.\vcpkg remove libpcap | ||
.\vcpkg install winpcap | ||
.\vcpkg install libevent:x86-windows libpcap:x86-windows libsodium:x86-windows openssl:x86-windows | ||
.\vcpkg remove libpcap:x86-windows | ||
.\vcpkg install winpcap:x86-windows | ||
- name: Locate dependencies | ||
run: | | ||
mkdir Source/Dependency | ||
mkdir Source/Dependency/LibEvent | ||
mkdir Source/Dependency/LibEvent/Include_Windows | ||
mkdir Source/Dependency/LibSodium | ||
mkdir Source/Dependency/LibSodium/Include_Windows | ||
mkdir Source/Dependency/WinPcap | ||
mkdir Source/Dependency/WinPcap/Include | ||
- name: Build the solution for x64 | ||
run: | | ||
cp -Recurse vcpkg/packages/libevent_x64-windows/include/* Source/Dependency/LibEvent/Include_Windows | ||
cp -Recurse vcpkg/packages/libevent_x64-windows/lib/event_core.lib Source/Dependency/LibEvent/LibEvent_Core_x64.lib | ||
cp -Recurse vcpkg/packages/libsodium_x64-windows/include/* Source/Dependency/LibSodium/Include_Windows | ||
cp -Recurse vcpkg/packages/libsodium_x64-windows/lib/libsodium.lib Source/Dependency/LibSodium/LibSodium_x64.lib | ||
cp -Recurse vcpkg/packages/libpcap_x64-windows/include/* Source/Dependency/WinPcap/Include | ||
cp -Recurse vcpkg/packages/winpcap_x64-windows/lib/Packet.lib Source/Dependency/WinPcap/Packet_x64.lib | ||
cp -Recurse vcpkg/packages/winpcap_x64-windows/lib/wpcap.lib Source/Dependency/WinPcap/WPCAP_X64.lib | ||
msbuild Source/Pcap_DNSProxy.sln /p:Configuration=Release /p:Platform=x64 /p:AdditionalIncludeDirectories="$GITHUB_WORKSPACE\vcpkg\installed\x64-windows\include" | ||
- name: Build the solution for x86 | ||
run: | | ||
cp -Recurse -Force vcpkg/packages/libevent_x86-windows/include/* Source/Dependency/LibEvent/Include_Windows | ||
cp -Recurse -Force vcpkg/packages/libevent_x86-windows/lib/event_core.lib Source/Dependency/LibEvent/LibEvent_Core_x86.lib | ||
cp -Recurse -Force vcpkg/packages/libsodium_x86-windows/include/* Source/Dependency/LibSodium/Include_Windows | ||
cp -Recurse -Force vcpkg/packages/libsodium_x86-windows/lib/libsodium.lib Source/Dependency/LibSodium/LibSodium_x86.lib | ||
cp -Recurse -Force vcpkg/packages/libpcap_x86-windows/include/* Source/Dependency/WinPcap/Include | ||
cp -Recurse -Force vcpkg/packages/winpcap_x86-windows/lib/Packet.lib Source/Dependency/WinPcap/Packet_x86.lib | ||
cp -Recurse -Force vcpkg/packages/winpcap_x86-windows/lib/wpcap.lib Source/Dependency/WinPcap/WPCAP_X86.lib | ||
msbuild Source/Pcap_DNSProxy.sln /p:Configuration=Release /p:Platform=x86 /p:AdditionalIncludeDirectories="$GITHUB_WORKSPACE\vcpkg\installed\x86-windows\include" | ||
- name: Download Support | ||
if: ${{ steps.vcpkg-cache.outputs.cache-hit != 'true' }} | ||
run: | | ||
cd Source | ||
mkdir Tools | ||
mkdir Tools/Support | ||
Invoke-WebRequest https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe -OutFile Tools/WinPcap_4.1.3.exe | ||
Invoke-WebRequest https://westmesatech.com/files/sst27.zip -OutFile Tools/sst27.zip | ||
Expand-Archive Tools/sst27.zip -DestinationPath Tools/Support | ||
Invoke-WebRequest https://www.fourmilab.ch/md5/md5.zip -OutFile Tools/md5.zip | ||
Expand-Archive Tools/md5.zip -DestinationPath Tools/Support | ||
Invoke-WebRequest https://github.com/mbuilov/sed-windows/raw/master/sed-4.9-x86.exe -OutFile Tools/Support/sed.exe | ||
- name: Package release | ||
run: | | ||
cd Source | ||
mkdir Release/x64 | ||
cp -Recurse x64/Release/* Release/x64 | ||
cp Auxiliary/ExampleConfig/Config.ini Release | ||
cp Auxiliary/ExampleConfig/Hosts.ini Release | ||
cp Auxiliary/ExampleConfig/IPFilter.ini Release | ||
cp Auxiliary/ExampleConfig/Routing.txt Release | ||
cp Auxiliary/ExampleConfig/WhiteList.txt Release | ||
cp Auxiliary/ExampleConfig/ServiceControl.bat Release | ||
mkdir Release/Tools | ||
cp -Recurse Auxiliary/Tools/* Release/Tools | ||
cp Tools/WinPcap_4.1.3.exe Release/Tools | ||
mkdir Release/Tools/Support | ||
cp Tools/Support/CCase.exe Release/Tools/Support | ||
cp (Get-Command curl.exe).Path Release/Tools/Support | ||
cp Tools/Support/md5.exe Release/Tools/Support | ||
cp Tools/Support/sed.exe Release/Tools/Support | ||
- name: Create artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: Pcap_DNSProxy-bin-Windows | ||
path: Source/Release |