Skip to content

Commit

Permalink
Merge pull request #1748: [Release] Milestone M190
Browse files Browse the repository at this point in the history
Major Updates
----------------

* Comes with `microsoft/git` v2.32.0.vfs.0.4.
* This release will be available via `winget`.
* The `gvfs upgrade` verb is deprecated. Any future updates will be taken via `winget`.
* This version of Git has an upgrade mechanism that can advance independently of VFS for Git. Run `git update-microsoft-git` to update your Git version.
* The build system has been updated to use a more recent version of .NET.
* All macOS and POSIX code has been removed to simplify the build system.
* A FastFetch bug around deleting files has been fixed.
* A prefetch bug around downloading a small number of files has been fixed.

Special thanks to contributors @ldennington, @tyrielv, @50Wliu, and @SteveBenz.

Pull Requests
---------------

* #1738: Bumping version of update-winget action
* #1747: UpgradeVerb: write deprecation notice
* #1745: do not exit early if no blobs found for a period when prefetching
* #1740: Skip launching UI if running unattended
* #1737: Update Git to v2.32.0
* #1746: Delete custom upgrader
* #1741: Fix winget tag specification
* #1744: Overhaul build and project systems and drop Mac/POSIX code
* #1736: Update Git to v2.31.1.vfs.0.3
* #1735: Bumping winget action version
* #1734: Adding winget workflow
* #1733: Update Git to include 2.31.1
* #1730: Fix an issue with FastFetch when deleting files
* #1732: Use one NuGet feed
* #1726: Config: commitGraph.generationVersion=1
  • Loading branch information
derrickstolee authored Jul 15, 2021
2 parents cd29de2 + fbfc49e commit d6d96fd
Show file tree
Hide file tree
Showing 348 changed files with 2,051 additions and 17,435 deletions.
66 changes: 0 additions & 66 deletions .azure-pipelines/continuous-integration.yml

This file was deleted.

22 changes: 0 additions & 22 deletions .azure-pipelines/pull-request.yml

This file was deleted.

93 changes: 93 additions & 0 deletions .azure-pipelines/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# NOTE: this pipeline definition is not currently used to build releases of VFS for Git.
# This is still done in the GVFS-Release-RealSign "classic" pipeline.

name: $(date:yy)$(DayOfYear)$(rev:.r)

variables:
signType: test
teamName: GVFS
configuration: Release
signPool: VSEng-MicroBuildVS2019
GVFSMajorAndMinorVersion: 1.0
GVFSRevision: $(Build.BuildNumber)

jobs:
- job: build
displayName: Windows Build and Sign

pool:
name: $(signPool)

steps:
- task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@2
displayName: Install signing plugin
inputs:
signType: '$(SignType)'

- task: UseDotNet@2
displayName: Install .NET SDK
inputs:
packageType: sdk
version: 5.0.201

- task: CmdLine@2
displayName: Build VFS for Git
inputs:
script: $(Build.Repository.LocalPath)\scripts\Build.bat $(configuration) $(GVFSMajorAndMinorVersion).$(GVFSRevision) detailed

- task: CmdLine@2
displayName: Run unit tests
inputs:
script: $(Build.Repository.LocalPath)\scripts\RunUnitTests.bat $(configuration)

- task: CmdLine@2
displayName: Create build artifacts
inputs:
script: $(Build.Repository.LocalPath)\scripts\CreateBuildArtifacts.bat $(configuration) $(Build.ArtifactStagingDirectory)

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Installer'
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)\NuGetPackages
ArtifactName: Installer

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: FastFetch'
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)\FastFetch
ArtifactName: FastFetch

- task: PublishSymbols@1
displayName: Enable Source Server
condition: eq(succeeded(), eq(variables['signType'], 'real'))
inputs:
SearchPattern: '**\*.pdb'
SymbolsFolder: $(Build.ArtifactStagingDirectory)\Symbols

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Symbols'
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)\Symbols
ArtifactName: Symbols

- task: ms-vscs-artifact.build-tasks.artifactSymbolTask-1.artifactSymbolTask@0
displayName: Publish to Symbols on Symweb
condition: eq(succeeded(), eq(variables['signType'], 'real'))
inputs:
symbolServiceURI: https://microsoft.artifacts.visualstudio.com/DefaultCollection
sourcePath: $(Build.ArtifactStagingDirectory)/Symbols
expirationInDays: 2065
usePat: false

- task: NuGetCommand@2
displayName: Push GVFS.Installers package
condition: eq(succeeded(), eq(variables['signType'], 'real'))
inputs:
command: push
packagesToPush: $(Build.ArtifactStagingDirectory)\NuGetPackages\GVFS.Installers.*.nupkg
nuGetFeedType: external
publishFeedCredentials: '1essharedassets GVFS [PUBLISH]'

- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
displayName: Send MicroBuild Telemetry
condition: always()
40 changes: 0 additions & 40 deletions .azure-pipelines/templates/windows-build-and-unit-test.yml

This file was deleted.

28 changes: 0 additions & 28 deletions .azure-pipelines/templates/windows-functional-test.yml

This file was deleted.

133 changes: 133 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
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@v2
with:
path: src

- name: Install .NET SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.201

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2

- 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@v2
with:
name: FunctionalTests_${{ matrix.configuration }}
path: artifacts\GVFS.FunctionalTests

- name: Upload FastFetch drop
uses: actions/upload-artifact@v2
with:
name: FastFetch_${{ matrix.configuration }}
path: artifacts\FastFetch

- name: Upload installers
uses: actions/upload-artifact@v2
with:
name: Installers_${{ matrix.configuration }}
path: artifacts\GVFS.Installers

- name: Upload NuGet packages
uses: actions/upload-artifact@v2
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@v2
with:
name: Installers_${{ matrix.configuration }}
path: install

- name: Download functional tests drop
uses: actions/download-artifact@v2
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@v2
with:
name: InstallationLogs_${{ matrix.configuration }}
path: install\logs

- name: Run functional tests
shell: cmd
run: |
SET PATH=C:\Program Files\GVFS;%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@v2
with:
name: FunctionalTests_Results_${{ matrix.configuration }}
path: TestResult.xml

- name: Upload Git trace2 output
if: always()
uses: actions/upload-artifact@v2
with:
name: GitTrace2_${{ matrix.configuration }}
path: C:\temp\git-trace2.log

- name: ProjFS details (post-test)
if: always()
shell: cmd
run: install\info.bat
Loading

0 comments on commit d6d96fd

Please sign in to comment.