diff --git a/.github/workflows/deploy-stable-legacy.yml b/.github/workflows/deploy-stable-legacy.yml deleted file mode 100644 index b84b8ccfe3c9..000000000000 --- a/.github/workflows/deploy-stable-legacy.yml +++ /dev/null @@ -1,179 +0,0 @@ -name: Deploy Stable Pipeline - -on: - workflow_dispatch: - -jobs: - build: - runs-on: windows-latest - environment: Deployments - strategy: - fail-fast: false - matrix: - configuration: [Stable] - platform: [x64] - env: - SOLUTION_NAME: 'Files.sln' - PACKAGE_PROJECT_DIR: 'src\Files.App (Package)' - PACKAGE_PROJECT_PATH: 'src\Files.App (Package)\Files.Package.wapproj' - TEST_PROJECT_PATH: 'tests\Files.InteractionTests\Files.InteractionTests.csproj' - CONFIGURATION: ${{ matrix.configuration }} - PLATFORM: ${{ matrix.platform }} - APPX_BUNDLE_PLATFORMS: 'x64|arm64' - WORKING_DIR: ${{ github.workspace }} # Default: D:\a\Files\Files\ - ARTIFACTS_STAGING_DIR: ${{ github.workspace }}\artifacts - APPX_PACKAGE_DIR: ${{ github.workspace }}\artifacts\AppxPackages - - steps: - - name: Checkout the repository - uses: actions/checkout@v4 - - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1 - - - name: Setup NuGet - uses: NuGet/setup-nuget@v1.1.1 - - - name: Setup .NET 8 - uses: actions/setup-dotnet@v3 - with: - dotnet-version: '8.0.x' - - # TODO: Move the command to PowerShell script instead - - name: Update Package.appxmanifest - shell: pwsh - run: | - [xml]$xmlDoc = Get-Content "$env:PACKAGE_PROJECT_DIR\Package.appxmanifest" - $xmlDoc.Package.Identity.Name="Files" - $xmlDoc.Package.Identity.Publisher="$env:SIDELOAD_PUBLISHER_SECRET" - $xmlDoc.Package.Properties.DisplayName="Files" - $xmlDoc.Package.Applications.Application.VisualElements.DisplayName="Files" - $xmlDoc.Save("$env:PACKAGE_PROJECT_DIR\Package.appxmanifest") - env: - SIDELOAD_PUBLISHER_SECRET: ${{ secrets.SIDELOAD_PUBLISHER_SECRET }} - - # TODO: Move the command to PowerShell script instead - - name: Use the ${{ env.CONFIGURATION }} logo sets - shell: pwsh - run: | - Get-ChildItem "$env:WORKING_DIR\src" -Include *.csproj, *.appxmanifest, *.wapproj, *.xaml -recurse | ForEach -Process ` - { ` - (Get-Content $_ -Raw | ForEach -Process { $_ -replace "Assets\\AppTiles\\Dev", "Assets\AppTiles\Release" }) | ` - Set-Content $_ -NoNewline ` - } - - - name: Inject the Bing Maps API token - shell: pwsh - run: | - Get-ChildItem "$env:WORKING_DIR\src" -Include *.cs -recurse | ForEach-Object -Process ` - { ` - (Get-Content $_ -Raw | ForEach-Object -Process { $_ -replace "bingmapskey.secret", "$env:BING_MAPS_SECRET" }) | ` - Set-Content $_ -NoNewline ` - } - env: - BING_MAPS_SECRET: ${{ secrets.BING_MAPS_SECRET }} - - - name: Inject the Sentry token - shell: pwsh - run: | - Get-ChildItem "$env:WORKING_DIR\src" -Include *.cs -recurse | ForEach-Object -Process ` - { ` - (Get-Content $_ -Raw | ForEach-Object -Process { $_ -replace "sentry.secret", "$env:SENTRY_SECRET" }) | ` - Set-Content $_ -NoNewline ` - } - env: - SENTRY_SECRET: ${{ secrets.SENTRY_SECRET }} - - - name: Inject the GitHub OAuth client ID - run: | - Get-ChildItem "$env:WORKING_DIR\src" -Include *.cs -recurse | ForEach-Object -Process ` - { ` - (Get-Content $_ -Raw | ForEach-Object -Process { $_ -replace "githubclientid.secret", "$env:GH_OAUTH_CLIENT_ID" }) | ` - Set-Content $_ -NoNewline ` - } - env: - GH_OAUTH_CLIENT_ID: ${{ secrets.GH_OAUTH_CLIENT_ID }} - - - name: Use Windows SDK Preview - shell: cmd - run: | - for /f %%a in ('dir /b /a:d %localappdata%\Microsoft\VisualStudio\17*') do echo UsePreviews=True>%localappdata%\Microsoft\VisualStudio\%%a\sdk.txt - - - name: Restore NuGet - shell: pwsh - run: 'nuget restore $env:SOLUTION_NAME' - - - name: Restore ${{ env.SOLUTION_NAME }} - shell: pwsh - run: | - msbuild $env:SOLUTION_NAME ` - -t:Restore ` - -p:Platform=$env:PLATFORM ` - -p:Configuration=$env:CONFIGURATION ` - -p:PublishReadyToRun=true - - - name: Build ${{ env.SOLUTION_NAME }} - shell: pwsh - run: | - msbuild "$env:PACKAGE_PROJECT_PATH" ` - -t:Build ` - -t:_GenerateAppxPackage ` - -p:Platform=$env:PLATFORM ` - -p:Configuration=$env:CONFIGURATION ` - -p:AppxBundlePlatforms=$env:APPX_BUNDLE_PLATFORMS ` - -p:AppxPackageDir="$env:APPX_PACKAGE_DIR" ` - -p:AppxBundle=Always ` - -p:UapAppxPackageBuildMode=Sideload ` - -p:GenerateAppInstallerFile=True ` - -p:AppInstallerUri=https://cdn.files.community/files/stable/ - - - name: Remove empty files from the packages - shell: bash - run: find $ARTIFACTS_STAGING_DIR -empty -delete - - - name: Update appinstaller schema - run: | - $newSchema = "http://schemas.microsoft.com/appx/appinstaller/2018" - $localFilePath = "${{ env.APPX_PACKAGE_DIR }}/Files.Package.appinstaller" - $fileContent = Get-Content $localFilePath - $fileContent = $fileContent.Replace("http://schemas.microsoft.com/appx/appinstaller/2017/2", $newSchema) - $fileContent | Set-Content $localFilePath - - - name: Sign files with Azure Trusted Signing - uses: azure/trusted-signing-action@v0.3.16 - with: - azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} - azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} - azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }} - endpoint: https://eus.codesigning.azure.net/ - code-signing-account-name: ${{ secrets.SIGNING_ACCOUNT_NAME }} - certificate-profile-name: ${{ secrets.SIGNING_PROFILE_NAME }} - files-folder: ${{ env.APPX_PACKAGE_DIR }} - files-folder-filter: msixbundle - files-folder-recurse: true - files-folder-depth: 4 - file-digest: SHA256 - timestamp-rfc3161: http://timestamp.acs.microsoft.com - timestamp-digest: SHA256 - - - uses: azure/login@v1 - with: - creds: ${{ secrets.AZURE_CREDENTIALS }} - - - name: Upload to blob storage - uses: azure/powershell@v1 - with: - inlineScript: | - az storage blob upload-batch --account-name "filescommunity" --destination "files" --destination-path "stable" --source ${{ env.APPX_PACKAGE_DIR }} --overwrite true - azPSVersion: "latest" - - # Azure logout - - name: logout - run: | - az logout - - - name: Upload the packages to GitHub Actions - uses: actions/upload-artifact@v3 - with: - name: 'Appx Packages (${{ env.CONFIGURATION }}, ${{ env.PLATFORM }})' - path: ${{ env.ARTIFACTS_STAGING_DIR }}