diff --git a/.github/workflows/windows-ci.yml b/.github/workflows/windows-ci.yml index 4e21844..b65c73f 100644 --- a/.github/workflows/windows-ci.yml +++ b/.github/workflows/windows-ci.yml @@ -19,6 +19,7 @@ jobs: - name: Setup environment run: | echo "builddate=$(Get-Date -format r)" >> $env:GITHUB_ENV + echo "release_name=Sonnet-$("${{ github.ref_name }}".Replace("/","-"))-CI" >> $env:GITHUB_ENV - name: Setup msbuild uses: microsoft/setup-msbuild@v1.1 @@ -47,15 +48,10 @@ jobs: - name: Prepare for build shell: pwsh run: | - echo Built on: ${{ env.builddate }} > Sonnet\BUILD-INFO.txt - echo Version: 1.4.0.${{ github.run_number }} >> Sonnet\BUILD-INFO.txt - echo Ref: ${{ github.ref }} >> Sonnet\BUILD-INFO.txt - echo Ref name: ${{ github.ref_name }} >> Sonnet\BUILD-INFO.txt - echo Commit: ${{ github.sha }} >> Sonnet\BUILD-INFO.txt Sonnet\build-third-party-license.bat - (Get-Content Sonnet\src\Sonnet\AssemblyInfo.cs).Replace('1.3.1.0','1.3.1.${{ github.run_number }}') | Set-Content Sonnet\src\Sonnet\AssemblyInfo.cs - (Get-Content Sonnet\src\SonnetWrapper\AssemblyInfo.h).Replace('1.3.1.0','1.3.1.${{ github.run_number }}').Replace('1,3,1,0','1,3,1,${{ github.run_number }}') | Set-Content Sonnet\src\SonnetWrapper\AssemblyInfo.h - 7z --% a -tzip -r -x!.git "Sonnet-${{ github.ref_name }}-CI-src.zip" .\* + (Get-Content Sonnet\src\Sonnet\AssemblyInfo.cs).Replace('1.3.2.0','1.3.2.${{ github.run_number }}') | Set-Content Sonnet\src\Sonnet\AssemblyInfo.cs + (Get-Content Sonnet\src\SonnetWrapper\AssemblyInfo.h).Replace('1.3.2.0','1.3.2.${{ github.run_number }}').Replace('1,3,2,0','1,3,2,${{ github.run_number }}') | Set-Content Sonnet\src\SonnetWrapper\AssemblyInfo.h + 7z --% a -tzip -r -x!.git "${{ env.release_name }}-src.zip" .\* nuget restore Sonnet\MSVisualStudio\v17\Sonnet.sln - name: Build @@ -81,8 +77,8 @@ jobs: cd Sonnet\MSVisualStudio\v17\SonnetTest\bin\x64\Release\net6.0\ .\SonnetTest.exe - - name: Create asset package - if: ${{ github.ref_name == 'master' }} + - name: Create artifact package for master or stable + if: ${{ ( github.ref_name == 'master' ) || startsWith(github.ref_name, 'stable/' ) }} shell: cmd run: | mkdir package\x64\net6.0 @@ -99,14 +95,28 @@ jobs: copy Sonnet\AUTHORS.txt package\. copy Sonnet\BUILD-INFO.txt package\. copy Sonnet\CHANGELOG.txt package\. + copy Sonnet\INSTALL.txt package\. copy Sonnet\LICENSE.txt package\. - copy Sonnet\NOTICE.txt package\. - copy Sonnet\README.md package\. + copy Sonnet\README.txt package\. copy Sonnet\THIRD-PARTY-LICENSE.txt package\. copy Sonnet\examples\Example5.cs package\. cd package - 7z a -tzip -r "..\Sonnet-${{ github.ref_name }}-CI-bin.zip" * + 7z a -tzip -r "..\${{ env.release_name }}-bin.zip" .\* cd .. + + - name: Upload src artifact + if: ${{ ( github.ref_name == 'master' ) || startsWith(github.ref_name, 'stable/' ) }} + uses: actions/upload-artifact@v3 + with: + name: Sonnet Sources + path: ${{ env.release_name }}-src.zip + + - name: Upload bin artifact + if: ${{ ( github.ref_name == 'master' ) || startsWith(github.ref_name, 'stable/' ) }} + uses: actions/upload-artifact@v3 + with: + name: Sonnet + path: ${{ env.release_name }}-bin.zip - name: Update latest release if: ${{ github.ref_name == 'master' }} @@ -119,14 +129,14 @@ jobs: replace: true updateTag: true body: | - Built on: ${{ env.builddate }} (v1.3.1.${{ github.run_number }} ) + Built on: ${{ env.builddate }} (v1.3.2.${{ github.run_number }} ) The Sonnet latest builds are pre-release builds based on the latest code in the master branch. As such, these builds may or may not be stable. The Sonnet latest builds use the latest code in the [master branch of Cbc](https://github.com/coin-or/cbc) and its dependencies. The Sonnet latest builds are created automatically at every successful build following a commit to the master branch. - Use the Sonnet-${{ github.ref_name }}-CI-src.zip to get all sources of Sonnet, Cbc and dependencies. + Use the S${{ env.release_name }}-src.zip to get all sources of Sonnet, Cbc and dependencies. Do not use the 'Source code' assets because it only contains the sources of Sonnet. token: ${{ secrets.GITHUB_TOKEN }} files: | - Sonnet-${{ github.ref_name }}-CI-src.zip - Sonnet-${{ github.ref_name }}-CI-bin.zip + ${{ env.release_name }}-src.zip + ${{ env.release_name }}-bin.zip diff --git a/CHANGELOG.txt b/CHANGELOG.txt index b6c4988..d0f48a6 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -8,6 +8,10 @@ The File Version numbers change with every release. In contrast, the Assembly Ve - MIQP. Quadratic objective for MIP. Quadratic objective works with OsiClp (QP). Quadratic objectives via OsiCbc does not work well and is disabled. (Unconfirmed for Cbc 2.10.10) +[1.3.2.0] Nov 2023 +Patch release of Sonnet, upgrading to Cbc 2.10.11. + - Bump to Cbc 2.10.11 + [1.3.1.0] June 2023 Patch release of Sonnet, upgrading to Cbc 2.10.10 and support .NET 6.0 and .NET Framework 4.8. - Bump to Cbc 2.10.10 diff --git a/MSVisualStudio/v17/Sonnet.sln b/MSVisualStudio/v17/Sonnet.sln index a0e40e0..b8730a9 100644 --- a/MSVisualStudio/v17/Sonnet.sln +++ b/MSVisualStudio/v17/Sonnet.sln @@ -9,6 +9,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ..\..\AUTHORS.txt = ..\..\AUTHORS.txt ..\..\build-third-party-license.bat = ..\..\build-third-party-license.bat ..\..\CHANGELOG.txt = ..\..\CHANGELOG.txt + ..\..\INSTALL.txt = ..\..\INSTALL.txt ..\..\LICENSE.txt = ..\..\LICENSE.txt ..\..\NOTICE.txt = ..\..\NOTICE.txt ..\..\README.txt = ..\..\README.txt diff --git a/appveyor.yml b/appveyor.yml index d49c872..5b60e1e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,7 +9,7 @@ environment: secure: 7rM8AX6MnUMN7F8Ad9BTvgRci9lmy4i3LWHC5l9ZdVY3xtJg7RwIXNWAg95vXFmK # version format -version: 1.3.1.{build} +version: 1.3.2.{build} # you can use {branch} name in version format too # version: 1.0.{build}-{branch} @@ -85,8 +85,8 @@ install: assembly_info: patch: true file: AssemblyInfo.* - assembly_version: "1.3.1.0" - assembly_file_version: "1.3.1.{build}" + assembly_version: "1.3.2.0" + assembly_file_version: "1.3.2.{build}" # assembly_informational_version: "1.4.0.{build}" #---------------------------------# @@ -113,11 +113,6 @@ before_build: - echo RELEASE_NAME "%RELEASE_NAME%" - echo RELEASE_TYPE "%RELEASE_TYPE%" - echo Creating %RELEASE_NAME%-src.zip artefact from projects folder - - echo Built on %date% %time% > BUILD-INFO.txt - - echo Version 1.3.1.%APPVEYOR_BUILD_NUMBER% >> BUILD-INFO.txt - - echo Repo %APPVEYOR_REPO_NAME% >> BUILD-INFO.txt - - echo Ref name %APPVEYOR_REPO_BRANCH% >> BUILD-INFO.txt - - echo Commit %APPVEYOR_REPO_COMMIT% >> BUILD-INFO.txt - call build-third-party-license.bat - 7z a -tzip -r -x!.git "c:\projects\sonnet\%RELEASE_NAME%-src.zip" c:\projects\* - nuget restore MSVisualStudio\v17\Sonnet.sln @@ -165,14 +160,15 @@ after_test: - copy MSVisualStudio\v17\SonnetNET4\bin\x64\Release\SonnetWrapper.dll package\x64\net48\. - copy MSVisualStudio\v17\SonnetNET4\bin\x64\Release\SonnetWrapper.xml package\x64\net48\. - copy AUTHORS.txt package\. - - copy BUILD-INFO.txt package\. - copy CHANGELOG.txt package\. - copy INSTALL.txt package\. - copy LICENSE.txt package\. - copy README.txt package\. - copy THIRD-PARTY-LICENSE.txt package\. - copy examples\Example5.cs package\. - - 7z a -tzip -r "c:\projects\sonnet\%RELEASE_NAME%-bin.zip" package\* + - cd package + - 7z a -tzip -r "c:\projects\sonnet\%RELEASE_NAME%-bin.zip" * + - cd .. - if not "%sonar_token%"=="" ( SonarScanner.MSBuild.exe end /d:"sonar.login=%sonar_token%" ) artifacts: diff --git a/src/Sonnet/AssemblyInfo.cs b/src/Sonnet/AssemblyInfo.cs index 51f1848..77f265c 100644 --- a/src/Sonnet/AssemblyInfo.cs +++ b/src/Sonnet/AssemblyInfo.cs @@ -41,5 +41,5 @@ // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("1.3.1.0")] -[assembly: AssemblyFileVersion("1.3.1.0")] +[assembly: AssemblyVersion("1.3.2.0")] +[assembly: AssemblyFileVersion("1.3.2.0")] diff --git a/src/SonnetWrapper/AssemblyInfo.h b/src/SonnetWrapper/AssemblyInfo.h index ce4169f..2c19e22 100644 --- a/src/SonnetWrapper/AssemblyInfo.h +++ b/src/SonnetWrapper/AssemblyInfo.h @@ -4,8 +4,8 @@ #pragma once -#define VER_FILEVERSION 1,3,1,0 -#define VER_FILEVERSION_STR "1.3.1.0" +#define VER_FILEVERSION 1,3,2,0 +#define VER_FILEVERSION_STR "1.3.2.0" // About Production & Assembly version: // Did the interface change? @@ -13,21 +13,21 @@ // -> No: Then change the version number // -> Yes: Keep same version. // -> No: Keep same version. -#define VER_PRODUCTVERSION 1,3,1,0 -#define VER_PRODUCTVERSION_STR "1.3.1.0" -#define VER_ASSEMBLYVERSION_STR "1.3.1.0" // Can use * +#define VER_PRODUCTVERSION 1,3,2,0 +#define VER_PRODUCTVERSION_STR "1.3.2.0" +#define VER_ASSEMBLYVERSION_STR "1.3.2.0" // Can use * #ifdef _DEBUG #ifndef WIN32 -#define VER_FILEDESCRIPTION "SonnetWrapper 64-bit (Debug), based on Cbc 2.10.10" +#define VER_FILEDESCRIPTION "SonnetWrapper 64-bit (Debug), based on Cbc 2.10.11" #else -#define VER_FILEDESCRIPTION "SonnetWrapper 32-bit (Debug), based on Cbc 2.10.10" +#define VER_FILEDESCRIPTION "SonnetWrapper 32-bit (Debug), based on Cbc 2.10.11" #endif #else #ifndef WIN32 -#define VER_FILEDESCRIPTION "SonnetWrapper 64-bit, based on Cbc 2.10.10" +#define VER_FILEDESCRIPTION "SonnetWrapper 64-bit, based on Cbc 2.10.11" #else -#define VER_FILEDESCRIPTION "SonnetWrapper 32-bit, based on Cbc 2.10.10" +#define VER_FILEDESCRIPTION "SonnetWrapper 32-bit, based on Cbc 2.10.11" #endif #endif