From fd65bbfa3ffb93f780ef84513e623ed4315847f0 Mon Sep 17 00:00:00 2001 From: Rinne Date: Fri, 28 Apr 2023 23:43:45 +0800 Subject: [PATCH 1/7] Create dotnet.yml to config github action --- .github/workflows/dotnet.yml | 87 ++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .github/workflows/dotnet.yml diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml new file mode 100644 index 00000000..3035a804 --- /dev/null +++ b/.github/workflows/dotnet.yml @@ -0,0 +1,87 @@ +# This workflow will build a .NET project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net + +name: .NET + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build-and-test-on-windows-cpu: + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 6.0.x + - name: Restore dependencies + run: dotnet restore + - name: Build + run: dotnet build --no-restore + - name: Test + run: dotnet test --no-build --verbosity normal + + build-and-test-on-windows-gpu: + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 6.0.x + - name: Restore dependencies + run: dotnet restore + - name: uninstall redist cpu on binding test + run: dotnet remove Tensorflow.UnitTest.RedistHolder package SciSharp.TensorFlow.Redist + - name: install redist gpu on keras test + run: dotnet add Tensorflow.UnitTest.RedistHolder package SciSharp.TensorFlow.Redist-Windows-GPU + - name: Build + run: dotnet build --no-restore + - name: Test + run: dotnet test --no-build --verbosity normal + + build-and-test-on-linux-cpu: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 6.0.x + - name: Restore dependencies + run: dotnet restore + - name: Build + run: dotnet build --no-restore + - name: Test + run: dotnet test --no-build --verbosity normal + + build-and-test-on-linux-gpu: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 6.0.x + - name: Restore dependencies + run: dotnet restore + - name: uninstall redist cpu on binding test + run: dotnet remove Tensorflow.UnitTest.RedistHolder package SciSharp.TensorFlow.Redist + - name: install redist gpu on keras test + run: dotnet add Tensorflow.UnitTest.RedistHolder package SciSharp.TensorFlow.Redist-Linux-GPU + - name: Build + run: dotnet build --no-restore + - name: Test + run: dotnet test --no-build --verbosity normal From e581bbd258448dbe6cbb1d80040103fa5426569b Mon Sep 17 00:00:00 2001 From: Rinne Date: Sat, 29 Apr 2023 00:34:40 +0800 Subject: [PATCH 2/7] Update dotnet.yml --- .github/workflows/dotnet.yml | 60 ++++++++++++------------------------ 1 file changed, 19 insertions(+), 41 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 3035a804..0d519350 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -10,45 +10,34 @@ on: branches: [ "master" ] jobs: - build-and-test-on-windows-cpu: + build-and-test-on-windows: runs-on: windows-latest steps: - uses: actions/checkout@v3 - - name: Setup .NET + - name: Setup .NET 6 uses: actions/setup-dotnet@v3 with: dotnet-version: 6.0.x - name: Restore dependencies run: dotnet restore - - name: Build + - name: Build CPU version run: dotnet build --no-restore - - name: Test + - name: Test GPU version run: dotnet test --no-build --verbosity normal - - build-and-test-on-windows-gpu: - - runs-on: windows-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 6.0.x - - name: Restore dependencies - run: dotnet restore - - name: uninstall redist cpu on binding test + - name: uninstall redist cpu for unit tests run: dotnet remove Tensorflow.UnitTest.RedistHolder package SciSharp.TensorFlow.Redist - - name: install redist gpu on keras test + - name: install redist gpu for unit tests run: dotnet add Tensorflow.UnitTest.RedistHolder package SciSharp.TensorFlow.Redist-Windows-GPU - - name: Build + - name: Restore dependencies + run: dotnet restore + - name: Build GPU version run: dotnet build --no-restore - - name: Test + - name: Test GPU version run: dotnet test --no-build --verbosity normal - build-and-test-on-linux-cpu: + build-and-test-on-linux: runs-on: ubuntu-latest @@ -60,28 +49,17 @@ jobs: dotnet-version: 6.0.x - name: Restore dependencies run: dotnet restore - - name: Build + - name: Build CPU version run: dotnet build --no-restore - - name: Test + - name: Test CPU version run: dotnet test --no-build --verbosity normal - - build-and-test-on-linux-gpu: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 6.0.x - - name: Restore dependencies - run: dotnet restore - - name: uninstall redist cpu on binding test + - name: uninstall redist cpu for unit tests run: dotnet remove Tensorflow.UnitTest.RedistHolder package SciSharp.TensorFlow.Redist - - name: install redist gpu on keras test + - name: install redist gpu for unit tests run: dotnet add Tensorflow.UnitTest.RedistHolder package SciSharp.TensorFlow.Redist-Linux-GPU - - name: Build + - name: Restore dependencies + run: dotnet restore + - name: Build GPU version run: dotnet build --no-restore - - name: Test + - name: Test GPU version run: dotnet test --no-build --verbosity normal From 87d5ae52e0756c68e9c0920eb181c6dc9e1a9bdb Mon Sep 17 00:00:00 2001 From: Rinne Date: Sat, 29 Apr 2023 02:54:06 +0800 Subject: [PATCH 3/7] Create release.yml --- .github/workflows/release.yml | 88 +++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..3696e4fb --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,88 @@ +name: Release + +on: + workflow_run: + workflows: ["Build and Test"] + types: + - completed + +env: + MYGET_API_TOKEN: ${{ SECRETS.RINNE_MYGET_KEY }} + +jobs: + build: + runs-on: windows-latest + + steps: + - name: Setup .NET 6.0.x SDK + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 6.0.x + + - name: Check .NET info + run: dotnet --info + + - name: Install dependencies + run: dotnet restore + + - name: Build solution + run: dotnet build -c Release --no-restore + + run-semantic-release: + runs-on: ubuntu-latest + needs: build + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Run semantic-release + run: | + export PATH=$PATH:$(yarn global bin) + yarn global add semantic-release@17.4.3 + semantic-release + + release: + runs-on: windows-latest + needs: run-semantic-release + + steps: + - name: Setup .NET 6.0.x SDK + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 6.0.x + + - name: Check .NET info + run: dotnet --info + + - name: Install dependencies + run: dotnet restore + + - name: Build solution + run: dotnet build -c Release --no-restore + + - name: Pack packages + run: | + $LastTag = git describe --tags (git rev-list --tags --max-count=1); + echo "Last tag is: $LastTag"; + $Version = ($LastTag).TrimStart('v'); + echo "Publishing version: $Version"; + dotnet pack -c Release -o packages /p:PackageVersion=$Version /p:Version=$Version; + + if($LastExitCode -ne 0) + { + Write-Warning -Message "Pack packages warming, last exit code is ${LastExitCode}." + $LastExitCode = 0; + } + + - name: Upload packages artefacts + uses: actions/upload-artifact@v1.0.0 + with: + name: "drop-ci-packages" + path: './packages' + + - name: Add myget nuget source + run: dotnet nuget add source https://www.myget.org/F/rinne/api/v2/package --name myget.org + + - name: Push packages to myget.org + run: dotnet nuget push .\packages\*.nupkg -s myget.org -k $env:MYGET_API_TOKEN --skip-duplicate From 08776cc2779c527f00055d42b3b795ffc85a4df5 Mon Sep 17 00:00:00 2001 From: Rinne Date: Sat, 29 Apr 2023 02:54:57 +0800 Subject: [PATCH 4/7] Update dotnet.yml --- .github/workflows/dotnet.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 0d519350..6d4170cd 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -24,8 +24,8 @@ jobs: run: dotnet restore - name: Build CPU version run: dotnet build --no-restore - - name: Test GPU version - run: dotnet test --no-build --verbosity normal +# - name: Test CPU version +# run: dotnet test --no-build --verbosity normal - name: uninstall redist cpu for unit tests run: dotnet remove Tensorflow.UnitTest.RedistHolder package SciSharp.TensorFlow.Redist - name: install redist gpu for unit tests @@ -34,8 +34,8 @@ jobs: run: dotnet restore - name: Build GPU version run: dotnet build --no-restore - - name: Test GPU version - run: dotnet test --no-build --verbosity normal +# - name: Test GPU version +# run: dotnet test --no-build --verbosity normal build-and-test-on-linux: @@ -51,8 +51,8 @@ jobs: run: dotnet restore - name: Build CPU version run: dotnet build --no-restore - - name: Test CPU version - run: dotnet test --no-build --verbosity normal +# - name: Test CPU version +# run: dotnet test --no-build --verbosity normal - name: uninstall redist cpu for unit tests run: dotnet remove Tensorflow.UnitTest.RedistHolder package SciSharp.TensorFlow.Redist - name: install redist gpu for unit tests @@ -61,5 +61,5 @@ jobs: run: dotnet restore - name: Build GPU version run: dotnet build --no-restore - - name: Test GPU version - run: dotnet test --no-build --verbosity normal +# - name: Test GPU version +# run: dotnet test --no-build --verbosity normal From 9c8b2f57865f9d87c8f191f04578484d05abc948 Mon Sep 17 00:00:00 2001 From: Rinne Date: Sat, 29 Apr 2023 02:55:35 +0800 Subject: [PATCH 5/7] Update and rename dotnet.yml to build_and_test.yml --- .github/workflows/{dotnet.yml => build_and_test.yml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/{dotnet.yml => build_and_test.yml} (99%) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/build_and_test.yml similarity index 99% rename from .github/workflows/dotnet.yml rename to .github/workflows/build_and_test.yml index 6d4170cd..ff45cca4 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/build_and_test.yml @@ -1,7 +1,7 @@ # This workflow will build a .NET project # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net -name: .NET +name: build_and_test on: push: From b4ef6b67ae197038385ab033a39c0a8921451fa7 Mon Sep 17 00:00:00 2001 From: Rinne Date: Sat, 29 Apr 2023 02:55:57 +0800 Subject: [PATCH 6/7] Update release.yml --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3696e4fb..9bdcf9b2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,7 @@ name: Release on: workflow_run: - workflows: ["Build and Test"] + workflows: ["build_and_test"] types: - completed From e33c84a5eedf6af7a492a90868aad8e09d181beb Mon Sep 17 00:00:00 2001 From: Rinne Date: Sat, 29 Apr 2023 03:12:04 +0800 Subject: [PATCH 7/7] Update release.yml --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9bdcf9b2..49978724 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Release +name: release on: workflow_run: @@ -14,6 +14,7 @@ jobs: runs-on: windows-latest steps: + - uses: actions/checkout@v3 - name: Setup .NET 6.0.x SDK uses: actions/setup-dotnet@v3 with: