From 4807358f7e3608818e736220158f43c98aba58cb Mon Sep 17 00:00:00 2001 From: Hongtao Zhang <hongtao_zhang@outlook.com> Date: Sat, 21 Sep 2024 17:32:07 -0500 Subject: [PATCH 1/2] cherry-pick from #2616 to support GitHub action --- .github/workflows/dotnet.yml | 110 +++++++++++++++++++++++++++++++++++ 1 file changed, 110 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 00000000000..9ba4f20ac78 --- /dev/null +++ b/.github/workflows/dotnet.yml @@ -0,0 +1,110 @@ +# 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: + workflow_dispatch: + push: + branches: + - dev + - master + pull_request: + branches: + - dev + - master + +jobs: + build: + + runs-on: windows-latest + env: + FlowVersion: 1.18.0 + NUGET_CERT_REVOCATION_MODE: offline + BUILD_NUMBER: ${{ github.run_number }} + steps: + - uses: actions/checkout@v4 + - name: Set Flow.Launcher.csproj version + id: update + uses: vers-one/dotnet-project-version-updater@v1.5 + with: + file: | + "**/SolutionAssemblyInfo.cs" + version: ${{ env.FlowVersion }}.${{ env.BUILD_NUMBER }} + - uses: actions/cache@v4 + name: Restore Nuget Cache + with: + path: | + ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }} + restore-keys: | + ${{ runner.os }}-nuget + - uses: actions/cache@v4 + name: Restore dotnet tool Cache + with: + path: | + ~/.dotnet/tools + key: ${{ runner.os }}-dotnet-tools-${{ hashFiles('~/.dotnet/tools/**') }} + restore-keys: | + ${{ runner.os }}-dotnet-tools + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 7.0.x + - name: Install vpk + Install vpk tool (dotnet tool install will not reinstall if already installed) + We will update the cli by removing cache + run: | + if (!(Get-Command vpk -ErrorAction SilentlyContinue)) { + dotnet tool install -g vpk + } + - name: Restore dependencies + run: dotnet restore + - name: Build + run: dotnet build --no-restore -c Release + - name: Initialize Service + run: | + sc config WSearch start= auto # Starts Windows Search service- Needed for running ExplorerTest + net start WSearch + - name: Test + run: dotnet test --no-build --verbosity normal -c Release + - name: Perform post_build tasks + shell: pwsh + run: .\Scripts\post_build.ps1 -flowversion "${env:FlowVersion}-build.${env:BUILD_NUMBER}" + - name: Upload Plugin Nupkg + uses: actions/upload-artifact@v4 + with: + name: Plugin nupkg + path: | + Output\Release\Flow.Launcher.Plugin.*.nupkg + compression-level: 0 + - name: Upload Setup + uses: actions/upload-artifact@v4 + with: + name: Flow Installer + path: | + Releases\FlowLauncher-*.exe + compression-level: 0 + - name: Upload Portable Version + uses: actions/upload-artifact@v4 + with: + name: Portable Version + path: | + Releases\FlowLauncher-*-Portable.zip + compression-level: 0 +# - name: Upload Full Nupkg +# uses: actions/upload-artifact@v4 +# with: +# name: Full nupkg +# path: | +# Releases\FlowLauncher-*-full.nupkg +# +# compression-level: 0 +# - name: Upload Release Information +# uses: actions/upload-artifact@v4 +# with: +# name: RELEASES +# path: | +# Releases\RELEASES* +# compression-level: 0 +# From 27b6434286111f112687819b7b06dc46690c5f1a Mon Sep 17 00:00:00 2001 From: Hongtao Zhang <hongtao_zhang@outlook.com> Date: Sat, 21 Sep 2024 17:38:20 -0500 Subject: [PATCH 2/2] update path --- .github/workflows/dotnet.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 9ba4f20ac78..08763ccf2b1 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -83,28 +83,28 @@ jobs: with: name: Flow Installer path: | - Releases\FlowLauncher-*.exe + Output\Packages\Flow-Launcher-*.exe compression-level: 0 - name: Upload Portable Version uses: actions/upload-artifact@v4 with: name: Portable Version path: | - Releases\FlowLauncher-*-Portable.zip + Output\Packages\Flow-Launcher-Portable.zip compression-level: 0 -# - name: Upload Full Nupkg -# uses: actions/upload-artifact@v4 -# with: -# name: Full nupkg -# path: | -# Releases\FlowLauncher-*-full.nupkg -# -# compression-level: 0 -# - name: Upload Release Information -# uses: actions/upload-artifact@v4 -# with: -# name: RELEASES -# path: | -# Releases\RELEASES* -# compression-level: 0 -# + - name: Upload Full Nupkg + uses: actions/upload-artifact@v4 + with: + name: Full nupkg + path: | + Output\Packages\FlowLauncher-*-full.nupkg + + compression-level: 0 + - name: Upload Release Information + uses: actions/upload-artifact@v4 + with: + name: RELEASES + path: | + Output\Packages\RELEASES + compression-level: 0 +