name: C/C++ CI on: push: branches: [ "test-ci" ] paths: [ 'RELEASE', '.github/workflows/build-win32.yml' ] jobs: ci: name: "${{ matrix.target }}" strategy: matrix: target: - windows-2022 runs-on: ${{ matrix.target }} steps: - uses: actions/checkout@v4 # - name: configure # run: ./configure - name: set date run: | $NOW = Get-Date -Format "yyMMddHHmmss" echo "now: $NOW" $RELEASE = Get-Content -Path "RELEASE" -Raw echo "release: $RELEASE" echo "NOW=$NOW" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "RELEASE=$RELEASE" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "VERSION=VERSION=`"$RELEASE`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "BUILDDATE=BUILDDATE=`"$NOW`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: install packages run: vcpkg install pcre2:x86-windows openssl:x86-windows - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v3 - name: make Windows MSVC if: ${{ startsWith(matrix.target, 'windows') }} shell: cmd run: | call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars32.bat" D: cd "D:/a/3proxy/3proxy" set "LIB=%LIB%;c:/vcpkg/installed/x86-windows/lib" set "INCLUDE=%INCLUDE%;c:/vcpkg/installed/x86-windows/include" echo "volatile char VerSion[]=^"3APA3A-3proxy-Internal-Build: 3proxy-%RELEASE%%-%NOW%\r\nCode certificate: https://3proxy.org/3proxy.cer\r\n^";" >>src/3proxy.c nmake /F Makefile.msvc mkdir release mkdir release\3proxy\ mkdir release\3proxy\bin mkdir release\3proxy\cfg mkdir release\3proxy\cfg\sql mkdir release\3proxy\doc mkdir release\3proxy\doc\ru mkdir release\3proxy\doc\html mkdir release\3proxy\doc\html\plugins mkdir release\3proxy\doc\html\man3 mkdir release\3proxy\doc\html\man8 mkdir release\3proxy\doc\devel copy /Y c:\vcpkg\installed\x64-windows\bin\pcre2-8.dll release\3proxy\bin copy /Y c:\vcpkg\installed\x64-windows\bin\*crypto*.dll release\3proxy\bin copy /Y c:\vcpkg\installed\x64-windows\bin\*ssl*.dll release\3proxy\bin copy bin\3proxy.exe release\3proxy\bin\ copy bin\*.dll release\3proxy\bin\ copy bin\mycrypt.exe release\3proxy\bin\ copy cfg\*.* release\3proxy\cfg\ copy cfg\sql\*.* release\3proxy\cfg\sql\ copy doc\ru\*.* release\3proxy\doc\ru\ copy doc\html\*.* release\3proxy\doc\html\ copy doc\html\plugins\*.* release\3proxy\doc\html\plugins\ copy doc\html\man8\*.* release\3proxy\doc\html\man8\ copy doc\html\man3\*.* release\3proxy\doc\html\man3\ copy doc\devel\*.rtf release\3proxy\doc\devel\ copy copying authors README rus.3ps release\3proxy\ - name: Get artifact uses: actions/upload-artifact@v4 with: name: "3proxy-${{ env.RELEASE }}-x64.zip" path: release/