Skip to content

Merge pull request #1819 from microsoft/dependabot/github_actions/act… #142

Merge pull request #1819 from microsoft/dependabot/github_actions/act…

Merge pull request #1819 from microsoft/dependabot/github_actions/act… #142

Workflow file for this run

name: VFS for Git
on:
pull_request:
branches: [ master, releases/shipped ]
push:
branches: [ master, releases/shipped ]
jobs:
build:
runs-on: windows-2019
name: Build and Unit Test
strategy:
matrix:
configuration: [ Debug, Release ]
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
path: src
- name: Install .NET SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: 5.0.201
- name: Add MSBuild to PATH
uses: microsoft/[email protected]
- name: Build VFS for Git
shell: cmd
run: src\scripts\Build.bat ${{ matrix.configuration }}
- name: Run unit tests
shell: cmd
run: src\scripts\RunUnitTests.bat ${{ matrix.configuration }}
- name: Create build artifacts
shell: cmd
run: src\scripts\CreateBuildArtifacts.bat ${{ matrix.configuration }} artifacts
- name: Upload functional tests drop
uses: actions/upload-artifact@v4
with:
name: FunctionalTests_${{ matrix.configuration }}
path: artifacts\GVFS.FunctionalTests
- name: Upload FastFetch drop
uses: actions/upload-artifact@v4
with:
name: FastFetch_${{ matrix.configuration }}
path: artifacts\FastFetch
- name: Upload installers
uses: actions/upload-artifact@v4
with:
name: Installers_${{ matrix.configuration }}
path: artifacts\GVFS.Installers
- name: Upload NuGet packages
uses: actions/upload-artifact@v4
with:
name: NuGetPackages_${{ matrix.configuration }}
path: artifacts\NuGetPackages
functional_test:
runs-on: windows-2019
name: Functional Tests
needs: build
strategy:
matrix:
configuration: [ Debug, Release ]
steps:
- name: Download installers
uses: actions/download-artifact@v4
with:
name: Installers_${{ matrix.configuration }}
path: install
- name: Download functional tests drop
uses: actions/download-artifact@v4
with:
name: FunctionalTests_${{ matrix.configuration }}
path: ft
- name: ProjFS details (pre-install)
shell: cmd
run: install\info.bat
- name: Install product
shell: cmd
run: install\install.bat
- name: ProjFS details (post-install)
shell: cmd
run: install\info.bat
- name: Upload installation logs
if: always()
uses: actions/upload-artifact@v4
with:
name: InstallationLogs_${{ matrix.configuration }}
path: install\logs
- name: Run functional tests
shell: cmd
run: |
SET PATH=C:\Program Files\VFS for Git;%PATH%
SET GIT_TRACE2_PERF=C:\temp\git-trace2.log
ft\GVFS.FunctionalTests.exe /result:TestResult.xml --ci
- name: Upload functional test results
if: always()
uses: actions/upload-artifact@v4
with:
name: FunctionalTests_Results_${{ matrix.configuration }}
path: TestResult.xml
- name: Upload Git trace2 output
if: always()
uses: actions/upload-artifact@v4
with:
name: GitTrace2_${{ matrix.configuration }}
path: C:\temp\git-trace2.log
- name: ProjFS details (post-test)
if: always()
shell: cmd
run: install\info.bat