From ef1022f477868085a8f5d4a5b5903f8cce94a2ba Mon Sep 17 00:00:00 2001 From: David Hall Date: Mon, 13 Jan 2025 13:08:03 -0700 Subject: [PATCH] Create cibuild.yml Test for CI build on GH Actions --- .github/workflows/cibuild.yml | 54 +++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/cibuild.yml diff --git a/.github/workflows/cibuild.yml b/.github/workflows/cibuild.yml new file mode 100644 index 000000000..ff9d08153 --- /dev/null +++ b/.github/workflows/cibuild.yml @@ -0,0 +1,54 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: CI Build + +on: + push: + branches: [ "master" ] +# pull_request: +# branches: [ "master" ] + +env: + # Path to the solution file relative to the root of the project. + SOLUTION_FILE_PATH: .\Vanara.sln + SOLUTION_PATH: . + # Configuration type to build. + # You can convert this to a build matrix if you need coverage of multiple configuration types. + # https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + BUILD_CONFIGURATION: Release + +permissions: + contents: read + +jobs: + build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@v1.0.2 + + - name: Restore Solution NuGet packages + working-directory: ${{env.GITHUB_WORKSPACE}} + run: msbuild /m /verbosity:quiet /t:restore /p:RunAnalyzersDuringBuild=false /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} + + - name: Restore VssApi NuGet packages + working-directory: ${{env.GITHUB_WORKSPACE}} + run: nuget restore ${{env.SOLUTION_PATH}}\PInvoke\VssApi\Vanara.PInvoke.VssApi.vcxproj -verbosity quiet + + - name: Build + working-directory: ${{env.GITHUB_WORKSPACE}} + run: msbuild /m /verbosity:quiet /t:build /p:RunAnalyzersDuringBuild=false /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} + + - name: Build VssApi NuGet package + working-directory: ${{env.GITHUB_WORKSPACE}} + run: nuget pack ${{env.SOLUTION_PATH}}\PInvoke\VssApi\Vanara.PInvoke.VssApi.nuspec -Verbosity quiet -Symbols -OutputDirectory C:\projects\Vanara\PInvoke\VssApi\bin\Release + + - name: Build meta NuGet package + working-directory: ${{env.GITHUB_WORKSPACE}} + run: nuget pack ${{env.SOLUTION_PATH}}\Vanara.Library.nuspec