From 741b6dc94220d52f04ff3c8e9c7d83a4c0bdfb6f Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 19 Apr 2022 13:31:33 -0400 Subject: [PATCH] [CI] Move the loc translations to its own job. (#14775) The configuration job used to be ran only onces, because now it runs several times we need to move the loc code out to make sure that we do not generate more than one branch. --- tools/devops/automation/build-pipeline.yml | 8 +++ .../automation/templates/common/configure.yml | 52 ------------------- .../automation/templates/loc-translations.yml | 50 ++++++++++++++++++ 3 files changed, 58 insertions(+), 52 deletions(-) create mode 100644 tools/devops/automation/templates/loc-translations.yml diff --git a/tools/devops/automation/build-pipeline.yml b/tools/devops/automation/build-pipeline.yml index 950cede9c6..6b3e3d0a2d 100644 --- a/tools/devops/automation/build-pipeline.yml +++ b/tools/devops/automation/build-pipeline.yml @@ -297,6 +297,14 @@ stages: steps: - template: templates/governance-checks.yml + - ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/main') }}: + - job: translations + displayName: 'Loc translations' + pool: + vmImage: windows-latest + steps: + - template: templates/loc-translations.yml + - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: - stage: clean diff --git a/tools/devops/automation/templates/common/configure.yml b/tools/devops/automation/templates/common/configure.yml index 759e72ed85..d380560c90 100644 --- a/tools/devops/automation/templates/common/configure.yml +++ b/tools/devops/automation/templates/common/configure.yml @@ -154,55 +154,3 @@ steps: targetPath: '$(Build.ArtifactStagingDirectory)/configuration.json' artifactName: build-configuration continueOnError: true - -- bash: | - echo "current directory: $PWD" - make LocProject.json - displayName: 'Generate LocProject.json' - continueOnError: true - workingDirectory: $(Build.SourcesDirectory)\xamarin-macios\tools\devops - -- task: PowerShell@2 - displayName: "Update LocProject.json" - inputs: - targetType: 'filePath' - filePath: $(Build.SourcesDirectory)\xamarin-macios\tools\devops\automation\scripts\update-locproject.ps1 - arguments: -SourcesDirectory "$(Build.SourcesDirectory)\xamarin-macios" -LocProjectPath "$(Build.SourcesDirectory)\xamarin-macios\Localize\LocProject.json" - -- powershell: | - git config user.email "valco@microsoft.com" - git config user.name "vs-mobiletools-engineering-service2" - git branch -d Localization - git push origin --delete Localization - git checkout -b Localization - git push origin Localization - displayName: "Create a new Localization branch from main" - condition: and(succeeded(), in(variables['build.reason'], 'Schedule'), eq(variables.isMain, 'True')) - -- task: OneLocBuild@2 - condition: and(succeeded(), eq(variables.isMain, 'True')) - continueOnError: true - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - inputs: - locProj: '$(Build.SourcesDirectory)\Localize\LocProject.json' - outDir: '$(Build.ArtifactStagingDirectory)' - ${{ if eq(variables['Build.Reason'], 'Schedule') }}: - isCreatePrSelected: true - ${{ if ne(variables['Build.Reason'], 'Schedule') }}: - isCreatePrSelected: false - packageSourceAuth: patAuth - patVariable: '$(OneLocBuild--PAT)' - isAutoCompletePrSelected: false - prSourceBranchPrefix: 'locfiles' - repoType: gitHub - gitHubPatVariable: '$(GitHub.Token)' - -- ${{ if eq(parameters.uploadArtifacts, true) }}: - - task: PublishBuildArtifacts@1 - condition: and(succeeded(), eq(variables.isMain, 'True')) - continueOnError: true - inputs: - PathtoPublish: '$(Build.ArtifactStagingDirectory)' - ArtifactName: 'localizationDrop' - publishLocation: 'Container' diff --git a/tools/devops/automation/templates/loc-translations.yml b/tools/devops/automation/templates/loc-translations.yml new file mode 100644 index 0000000000..e3897ec40a --- /dev/null +++ b/tools/devops/automation/templates/loc-translations.yml @@ -0,0 +1,50 @@ +steps: + +- template: ./common/checkout.yml + +- bash: | + make LocProject.json + displayName: 'Generate LocProject.json' + continueOnError: true + workingDirectory: $(Build.SourcesDirectory)\xamarin-macios\tools\devops + +- task: PowerShell@2 + displayName: "Update LocProject.json" + inputs: + targetType: 'filePath' + filePath: $(Build.SourcesDirectory)\xamarin-macios\tools\devops\automation\scripts\update-locproject.ps1 + arguments: -SourcesDirectory "$(Build.SourcesDirectory)\xamarin-macios" -LocProjectPath "$(Build.SourcesDirectory)\xamarin-macios\Localize\LocProject.json" + +- powershell: | + git config user.email "valco@microsoft.com" + git config user.name "vs-mobiletools-engineering-service2" + git branch -d Localization + git push origin --delete Localization + git checkout -b Localization + git push origin Localization + displayName: "Create a new Localization branch from main" + +- task: OneLocBuild@2 + continueOnError: true + env: + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + inputs: + locProj: '$(Build.SourcesDirectory)\Localize\LocProject.json' + outDir: '$(Build.ArtifactStagingDirectory)' + ${{ if eq(variables['Build.Reason'], 'Schedule') }}: + isCreatePrSelected: true + ${{ else }}: + isCreatePrSelected: false + packageSourceAuth: patAuth + patVariable: '$(OneLocBuild--PAT)' + isAutoCompletePrSelected: false + prSourceBranchPrefix: 'locfiles' + repoType: gitHub + gitHubPatVariable: '$(GitHub.Token)' + +- task: PublishBuildArtifacts@1 + continueOnError: true + inputs: + PathtoPublish: '$(Build.ArtifactStagingDirectory)' + ArtifactName: 'localizationDrop' + publishLocation: 'Container'