# 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.17.2 NUGET_CERT_REVOCATION_MODE: offline steps: - uses: actions/checkout@v4 - name: Generate build number id: buildnumber uses: onyxmueller/build-tag-number@v1 with: token: ${{secrets.github_token}} - 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: 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 #