diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..8bb04b2 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,17 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "nuget" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "daily" + + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/workflows/CI_build.yml b/.github/workflows/CI_build.yml new file mode 100644 index 0000000..8dca648 --- /dev/null +++ b/.github/workflows/CI_build.yml @@ -0,0 +1,52 @@ +name: CI_build + +on: [push, pull_request] + +jobs: + build: + + runs-on: windows-latest + strategy: + max-parallel: 6 + matrix: + build_configuration: [Release] + build_platform: [Any CPU] + build_boost_version: [1_72_0] + build_boost_version_dot: [1.72.0] + build_msvc_version_dot: [14.2, 14.1] + steps: + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Setup Nuget.exe + uses: nuget/setup-nuget@v1 + + - name: restore input nuget packages + working-directory: builder\ + run: | + nuget restore builder\packages.config -PackagesDirectory packages + nuget restore builderTest\packages.config -PackagesDirectory packages + + - name: Setup to add MSBuild.exe to path + uses: microsoft/setup-msbuild@v1 + + - name: MSBuild of builder + working-directory: builder\ + run: | + msbuild builder.sln /m /verbosity:minimal /t:restore /p:configuration="${{ matrix.build_configuration }}" /p:platform="${{ matrix.build_platform }}" + msbuild builder.sln /m /p:configuration="${{ matrix.build_configuration }}" /p:platform="${{ matrix.build_platform }}" + + - name: boost download + working-directory: . + run: | + Set-Location -Path 'D:\a' + New-Item -ItemType directory -Path D:\a\boost + Set-Location -Path 'D:\a\boost' + (New-Object System.Net.WebClient).DownloadFile("https://dl.bintray.com/boostorg/release/${{ matrix.build_boost_version_dot }}/binaries/boost_${{ matrix.build_boost_version }}-msvc-${{ matrix.build_msvc_version_dot }}-64.exe", "D:\a\boost\boost_${{ matrix.build_boost_version }}-msvc-${{ matrix.build_msvc_version_dot }}-64.exe") + (New-Object System.Net.WebClient).DownloadFile("https://dl.bintray.com/boostorg/release/${{ matrix.build_boost_version_dot }}/binaries/boost_${{ matrix.build_boost_version }}-msvc-${{ matrix.build_msvc_version_dot }}-32.exe", "D:\a\boost\boost_${{ matrix.build_boost_version }}-msvc-${{ matrix.build_msvc_version_dot }}-32.exe") + .\boost_${{ matrix.build_boost_version }}-msvc-${{ matrix.build_msvc_version_dot }}-64.exe /SILENT /DIR=D:\a\boost\boost | Out-Null + .\boost_${{ matrix.build_boost_version }}-msvc-${{ matrix.build_msvc_version_dot }}-32.exe /SILENT /DIR=D:\a\boost\boost | Out-Null + + - name: run builder + working-directory: builder\builder\bin\Release\ + run: .\builder.exe diff --git a/.gitignore b/.gitignore index 833cf5f..aff241d 100644 --- a/.gitignore +++ b/.gitignore @@ -48,6 +48,6 @@ builder/packages/repositories.config *.suo /log.txt /builder/packages/Framework.G1.1.0.13.0 -/builder/packages/NuGet.CommandLine.2.8.3 +/builder/packages/NuGet.CommandLine.2.8.6 /builder/builderTest/bin/Debug .vs/ \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..e7c4a49 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,76 @@ +version: 1.72.{build} + + +environment: + matrix: + #- PlatformToolset: v141 + # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + + - PlatformToolset: v142 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 + BUILD_BOOST_VERSION: 1_72_0 + BUILD_BOOST_VERSION_DOT: 1.72.0 + BUILD_MSVC_VERSION_DOT: 14.2 + +configuration: + - Release + #- Debug + +platform: + - Any CPU + +install: + - if "%platform%"=="Any CPU" set archi=amd64 + - if "%platform%"=="Any CPU" set platform_input=Any CPU + + + - if "%PlatformToolset%"=="v140" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %archi% + - if "%PlatformToolset%"=="v141" call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %archi% + - if "%PlatformToolset%"=="v142" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" %archi% + + - cd "%APPVEYOR_BUILD_FOLDER%"\..\.. + - mkdir boost + - cd boost + # build from source, but fails due to runtime limitation as each build takes ~ 40min + #- appveyor DownloadFile https://dl.bintray.com/boostorg/release/%BUILD_BOOST_VERSION_DOT%/source/boost_%BUILD_BOOST_VERSION%.7z + #- boost.bat + # complete zip, but fails due to storage limitations on appveyor (bintray download is much faster than sourceforge) + #- appveyor DownloadFile https://dl.bintray.com/boostorg/release/%BUILD_BOOST_VERSION_DOT%/binaries/boost_%BUILD_BOOST_VERSION%-bin-msvc-all-32-64.7z + #- appveyor DownloadFile https://sourceforge.net/projects/boost/files/boost-binaries/%BUILD_BOOST_VERSION_DOT%/boost_%BUILD_BOOST_VERSION%-bin-msvc-all-32-64.7z + #- 7z x -y boost_%BUILD_BOOST_VERSION%-bin-msvc-all-32-64.7z > nul + #- rename boost_%BUILD_BOOST_VERSION%-bin-msvc-all-32-64 boost + - appveyor DownloadFile https://dl.bintray.com/boostorg/release/%BUILD_BOOST_VERSION_DOT%/binaries/boost_%BUILD_BOOST_VERSION%-msvc-%BUILD_MSVC_VERSION_DOT%-32.exe + - appveyor DownloadFile https://dl.bintray.com/boostorg/release/%BUILD_BOOST_VERSION_DOT%/binaries/boost_%BUILD_BOOST_VERSION%-msvc-%BUILD_MSVC_VERSION_DOT%-64.exe + - boost_%BUILD_BOOST_VERSION%-msvc-%BUILD_MSVC_VERSION_DOT%-64.exe /SILENT /DIR=C:\boost\boost + - boost_%BUILD_BOOST_VERSION%-msvc-%BUILD_MSVC_VERSION_DOT%-32.exe /SILENT /DIR=C:\boost\boost + + - nuget restore "%APPVEYOR_BUILD_FOLDER%"\builder\builder\packages.config -PackagesDirectory "%APPVEYOR_BUILD_FOLDER%"\builder\packages + - nuget restore "%APPVEYOR_BUILD_FOLDER%"\builder\builderTest\packages.config -PackagesDirectory "%APPVEYOR_BUILD_FOLDER%"\builder\packages + + +build_script: + - cd "%APPVEYOR_BUILD_FOLDER%"\builder + - msbuild builder.sln /m /verbosity:minimal /t:restore /p:configuration="%configuration%" /p:platform="%platform_input%" /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" + - msbuild builder.sln /m /verbosity:minimal /p:configuration="%configuration%" /p:platform="%platform_input%" /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" + - cd "%APPVEYOR_BUILD_FOLDER%" + +after_build: + - cd "%APPVEYOR_BUILD_FOLDER%"\builder\builder\bin\Release\ + - call builder.exe + +artifacts: + #- path: installer\build\**\*.* + # name: releases + +deploy: + provider: GitHub + auth_token: + secure: #!TODO! + artifact: releases + draft: false + prerelease: false + force_update: true + on: + appveyor_repo_tag: true + PlatformToolset: v142 + configuration: Release diff --git a/boost.bat b/boost.bat index 2dea952..38b0114 100644 --- a/boost.bat +++ b/boost.bat @@ -3,15 +3,15 @@ cd ..\boost\ call bootstrap.bat -b2 headers +b2 -j%NUMBER_OF_PROCESSORS% headers rem add 'call :link XX.X' if you need to run for specific version of Visual C++ compiler. call :link 14.0 -call :link 12.0 -call :link 11.0 -call :link 10.0 -call :link 9.0 +rem call :link 12.0 +rem call :link 11.0 +rem call :link 10.0 +rem call :link 9.0 goto :eof @@ -41,7 +41,7 @@ echo link=%2 echo runtime-link=%3 echo threading=%4 echo } -call :build %1 %2 %3 %4 32 +rem call :build %1 %2 %3 %4 32 call :build %1 %2 %3 %4 64 goto :eof @@ -54,5 +54,5 @@ echo threading=%4 echo address-model=%5 echo } rem change this line if you need to specify additional options to compiler. -b2 architecture=x86 link=%2 runtime-link=%3 threading=%4 address-model=%5 stage --stagedir=address-model-%5 --toolset=msvc-%1 --without-python +b2 -j%NUMBER_OF_PROCESSORS% architecture=x86 link=%2 runtime-link=%3 threading=%4 address-model=%5 stage --stagedir=address-model-%5 --toolset=msvc-%1 --without-python goto :eof diff --git a/builder/builder/Nuspec.cs b/builder/builder/Nuspec.cs index 2b69c4b..cff60dc 100644 --- a/builder/builder/Nuspec.cs +++ b/builder/builder/Nuspec.cs @@ -84,7 +84,7 @@ private static void CreateNuspec( nuspec.CreateDocument().Save(nuspecFile); Process.Start( new ProcessStartInfo( - @"..\..\..\packages\NuGet.CommandLine.2.8.3\tools\nuget.exe", + @"..\..\..\packages\NuGet.CommandLine.2.8.6\tools\nuget.exe", "pack " + nuspecFile) { UseShellExecute = false, diff --git a/builder/builder/packages.config b/builder/builder/packages.config index 0b1f4c1..52403d3 100644 --- a/builder/builder/packages.config +++ b/builder/builder/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file