Skip to content

Commit

Permalink
- github action as starting point
Browse files Browse the repository at this point in the history
- update NuGet.CommandLine.2.8.3 -> NuGet.CommandLine.6.0.0
- add initial appveyor.yml CI config
- prepare for boost 1.78.0
  • Loading branch information
chcg committed Dec 13, 2021
1 parent 5fb16f0 commit 2e42f4d
Show file tree
Hide file tree
Showing 6 changed files with 178 additions and 6 deletions.
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -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"
52 changes: 52 additions & 0 deletions .github/workflows/CI_build.yml
Original file line number Diff line number Diff line change
@@ -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
102 changes: 102 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
version: 1.78.{build}


environment:
matrix:

- PlatformToolset: v143
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
BUILD_BOOST_VERSION: 1_78_0
BUILD_BOOST_VERSION_DOT: 1.78.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
7 changes: 4 additions & 3 deletions builder/builder/Config.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace builder
public static class Config
{
public static readonly Version Version =
new StableVersion(1, 77, 0, 0);
new StableVersion(1, 78, 0, 0);

public static readonly List[] Release =
{
Expand Down Expand Up @@ -40,8 +40,9 @@ public CompilerInfo(string name, string preRelease = "")
{ "vc110", new CompilerInfo("Visual Studio 2012 Update 4") },
{ "vc120", new CompilerInfo("Visual Studio 2013 Update 5") },
{ "vc140", new CompilerInfo("Visual Studio 2015 Update 3") },
{ "vc141", new CompilerInfo("Visual Studio 2017 15.9.36") },
{ "vc142", new CompilerInfo("Visual Studio 2019 16.10.3") },
{ "vc141", new CompilerInfo("Visual Studio 2017 15.9.41") },
{ "vc142", new CompilerInfo("Visual Studio 2019 16.11.7") },
{ "vc143", new CompilerInfo("Visual Studio 2019 17.0.2") },
};

public static int CompilerNumber(string key)
Expand Down
4 changes: 2 additions & 2 deletions builder/builder/Nuspec.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,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.6.0.0\tools\nuget.exe",
"pack " + nuspecFile)
{
UseShellExecute = false,
Expand All @@ -95,7 +95,7 @@ private static void CreateNuspec(
{
var p = Process.Start(
new ProcessStartInfo(
@"..\..\..\packages\NuGet.CommandLine.5.10.0\tools\nuget.exe",
@"..\..\..\packages\NuGet.CommandLine.6.0.0\tools\nuget.exe",
"push " + nupkgFile + " -Source https://api.nuget.org/v3/index.json -ApiKey")
{
UseShellExecute = false,
Expand Down
2 changes: 1 addition & 1 deletion builder/builder/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Framework.G1" version="1.0.13.0" targetFramework="net45" userInstalled="true" />
<package id="NuGet.CommandLine" version="5.10.0" targetFramework="net48" userInstalled="true" developmentDependency="true" />
<package id="NuGet.CommandLine" version="6.0.0" targetFramework="net48" userInstalled="true" developmentDependency="true" />
</packages>

0 comments on commit 2e42f4d

Please sign in to comment.