diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..dd3fdfd --- /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: "weekly" + + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/CI_build.yml b/.github/workflows/CI_build.yml new file mode 100644 index 0000000..c861324 --- /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_80_0] + build_boost_version_dot: [1.80.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\boostorg + Set-Location -Path 'D:\a\boostorg' + (New-Object System.Net.WebClient).DownloadFile("https://boostorg.jfrog.io/artifactory/main/release/${{ matrix.build_boost_version_dot }}/binaries/boost_${{ matrix.build_boost_version }}-msvc-${{ matrix.build_msvc_version_dot }}-64.exe", "D:\a\boostorg\boost_${{ matrix.build_boost_version }}-msvc-${{ matrix.build_msvc_version_dot }}-64.exe") + (New-Object System.Net.WebClient).DownloadFile("https://boostorg.jfrog.io/artifactory/main/release/${{ matrix.build_boost_version_dot }}/binaries/boost_${{ matrix.build_boost_version }}-msvc-${{ matrix.build_msvc_version_dot }}-32.exe", "D:\a\boostorg\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\boostorg\boost | Out-Null + .\boost_${{ matrix.build_boost_version }}-msvc-${{ matrix.build_msvc_version_dot }}-32.exe /SILENT /DIR=D:\a\boostorg\boost | Out-Null + + - name: run builder + working-directory: builder\builder\bin\Release\ + run: .\builder.exe diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..a7ca264 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,102 @@ +version: 1.79.{build} + + +environment: + matrix: + + - PlatformToolset: v143 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 + BUILD_BOOST_VERSION: 1_80_0 + BUILD_BOOST_VERSION_DOT: 1.80.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% + - if "%PlatformToolset%"=="v143" call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" %archi% + + - cd "%APPVEYOR_BUILD_FOLDER%"\..\.. + - mkdir boostorg + - cd boostorg + # build from source, but fails due to runtime limitation as each build takes ~ 40min + #- appveyor DownloadFile https://boostorg.jfrog.io/artifactory/main/release/%BUILD_BOOST_VERSION_DOT%/source/boost_%BUILD_BOOST_VERSION%.7z + #- boost.bat + + # Free disk space for boost zip package + - rmdir /q /s C:\Qt + - rmdir /q /s C:\Python26 + - rmdir /q /s C:\Python26-x64 + - rmdir /q /s C:\Python27 + - rmdir /q /s C:\Python27-x64 + - rmdir /q /s C:\Python33 + - rmdir /q /s C:\Python33-x64 + - rmdir /q /s C:\Python34 + - rmdir /q /s C:\Python34-x64 + - rmdir /q /s C:\Python35 + - rmdir /q /s C:\Python35-x64 + - rmdir /q /s C:\Python36 + - rmdir /q /s C:\Python36-x64 + - rmdir /q /s C:\Python37 + - rmdir /q /s C:\Python37-x64 + - rmdir /q /s C:\Python38 + - rmdir /q /s C:\Python38-x64 + - rmdir /q /s C:\Python39 + - rmdir /q /s C:\Python39-x64 + - rmdir /q /s C:\Python310 + - rmdir /q /s C:\Python310-x64 + + # complete zip, but fails due to storage limitations on appveyor (artifactory download is much faster than sourceforge) + - appveyor DownloadFile https://boostorg.jfrog.io/artifactory/main/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 + - del /q boost_%BUILD_BOOST_VERSION%-bin-msvc-all-32-64.7z + - rename boost_%BUILD_BOOST_VERSION% boost + + + #- appveyor DownloadFile https://boostorg.jfrog.io/artifactory/main/release/%BUILD_BOOST_VERSION_DOT%/binaries/boost_%BUILD_BOOST_VERSION%-msvc-%BUILD_MSVC_VERSION_DOT%-32.exe + #- appveyor DownloadFile https://boostorg.jfrog.io/artifactory/main/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:\boostorg\boost + #- boost_%BUILD_BOOST_VERSION%-msvc-%BUILD_MSVC_VERSION_DOT%-32.exe /SILENT /DIR=C:\boostorg\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: v143 + configuration: Release diff --git a/builder/builder/Nuspec.cs b/builder/builder/Nuspec.cs index 16c62a6..700de59 100644 --- a/builder/builder/Nuspec.cs +++ b/builder/builder/Nuspec.cs @@ -85,7 +85,7 @@ private static void CreateNuspec( nuspec.CreateDocument().Save(nuspecFile); Process.Start( new ProcessStartInfo( - @"..\..\..\packages\NuGet.CommandLine.5.11.2\tools\nuget.exe", + @"..\..\..\packages\NuGet.CommandLine.6.2.1\tools\nuget.exe", "pack " + nuspecFile) { UseShellExecute = false, @@ -93,9 +93,9 @@ private static void CreateNuspec( var nupkgFile = id + "." + version + ".nupkg"; Console.WriteLine("uploading: " + nupkgFile); { - var p = Process.Start( +/* var p = Process.Start( new ProcessStartInfo( - @"..\..\..\packages\NuGet.CommandLine.5.10.0\tools\nuget.exe", + @"..\..\..\packages\NuGet.CommandLine.6.2.1\tools\nuget.exe", "push " + nupkgFile + " -Source https://api.nuget.org/v3/index.json -ApiKey _") { UseShellExecute = false, @@ -104,7 +104,7 @@ private static void CreateNuspec( if (p.ExitCode != 0) { Environment.Exit(p.ExitCode); } - } + */ } } public static void Create( diff --git a/builder/builder/packages.config b/builder/builder/packages.config index db29860..b447d31 100644 --- a/builder/builder/packages.config +++ b/builder/builder/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/builder/builderTest/UnitTest.cs b/builder/builderTest/UnitTest.cs index 2b35be1..74f4e4e 100644 --- a/builder/builderTest/UnitTest.cs +++ b/builder/builderTest/UnitTest.cs @@ -63,7 +63,7 @@ public void VersionTestMethod() // M(Enumerable.Empty()); // Lib(Enumerable.Empty()); Assert.AreEqual(new UnstableVersion(1, 56, 0, "rc1").ToString(), "1.56.0-rc1"); - Assert.AreEqual(new StableVersion(1, 55, 0, 16).ToString(), "1.55.0.16"); + Assert.AreEqual(new StableVersion(1, 55, 0).ToString(), "1.55.0"); } } } diff --git a/builder/builderTest/builderTest.csproj b/builder/builderTest/builderTest.csproj index 7ef023d..e14073e 100644 --- a/builder/builderTest/builderTest.csproj +++ b/builder/builderTest/builderTest.csproj @@ -40,7 +40,16 @@ False ..\packages\Framework.G1.1.0.13.0\lib\portable-net45+sl50+win+wp80+MonoAndroid10+MonoTouch10\Framework.G1.dll + + + + + + + + + diff --git a/builder/builderTest/packages.config b/builder/builderTest/packages.config index 8095735..adb3132 100644 --- a/builder/builderTest/packages.config +++ b/builder/builderTest/packages.config @@ -1,4 +1,5 @@  + \ No newline at end of file