This is an automated email from the ASF dual-hosted git repository. gaurava pushed a commit to branch ado-pipeline in repository https://gitbox.apache.org/repos/asf/hadoop.git
commit edcdf004f91dddc477f8e4929fdec520c212fe72 Author: Gautham Banasandra <gautham.bangal...@gmail.com> AuthorDate: Sun May 11 17:18:35 2025 +0530 Add YAML file for Azure DevOps pipeline --- dev-support/azure-devops.yaml | 186 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) diff --git a/dev-support/azure-devops.yaml b/dev-support/azure-devops.yaml new file mode 100644 index 00000000000..c8d3eb8a42b --- /dev/null +++ b/dev-support/azure-devops.yaml @@ -0,0 +1,186 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +parameters: +- name: JIRA_ISSUE_KEY + displayName: 'JIRA Issue Key' + type: string + default: '' + +variables: + YETUS: 'yetus' + YETUS_VERSION: 'rel/0.14.0' + SOURCEDIR: $(Build.SourcesDirectory) + PATCHDIR: $(Build.ArtifactStagingDirectory)/out + DOCKERFILE: $(Build.SourcesDirectory)/dev-support/docker/Dockerfile_windows_10 + DOCKER_BUILDKIT: 0 + IS_OPTIONAL: 0 + IS_NIGHTLY_BUILD: 0 + IS_WINDOWS: 1 + +pool: + vmImage: 'windows-latest' + +resources: + repositories: + - repository: yetus + type: github + name: apache/yetus + ref: $(YETUS_VERSION) + endpoint: github + +stages: +- stage: Windows10Build + displayName: 'Windows 10 Build' + jobs: + - job: BuildTest + timeoutInMinutes: 4320 # 72 hours + steps: + - checkout: self + path: src + + - checkout: yetus + path: $(YETUS) + + - task: PowerShell@2 + displayName: 'Create Output Directory' + inputs: + targetType: 'inline' + script: | + if (-not (Test-Path "$(PATCHDIR)")) { + New-Item -ItemType Directory -Path "$(PATCHDIR)" -Force + } + if (-not (Test-Path "F:\maven\repository")) { + New-Item -ItemType Directory -Path "F:\maven\repository" -Force + } + + - task: Docker@2 + displayName: 'Build Docker Image' + inputs: + command: build + Dockerfile: $(DOCKERFILE) + buildContext: $(Build.SourcesDirectory)/dev-support/docker + arguments: '--label org.apache.yetus="" --label org.apache.yetus.testpatch.project=hadoop --tag hadoop-windows-10-builder' + + - task: PowerShell@2 + displayName: 'Run CI in Docker' + env: + GITHUB_TOKEN: $(GITHUB_TOKEN) + GITHUB_USER: $(GITHUB_USER) + inputs: + targetType: 'inline' + script: | + docker run --rm -v "$(PATCHDIR):C:\out" ` + -v "$(Build.SourcesDirectory)\src:C:\src" ` + -v "$(Build.SourcesDirectory)\$(YETUS):C:\yetus" ` + -v "F:\maven\repository:C:\Users\$(BUILD_USER)\.m2" ` + -e BUILD_URL="$(Build.BuildUri)" -e BRANCH_NAME="$(Build.SourceBranchName)" ` + -e JOB_NAME="$(Build.DefinitionName)" -e JENKINS_URL="$(System.CollectionUri)" ` + -e CHANGE_URL="$(System.PullRequest.SourceRepositoryUri)" -e WORKSPACE="/c" -e YETUS="yetus" ` + -e BUILD_NUMBER="$(Build.BuildNumber)" -e EXECUTOR_NUMBER="0" ` + -e BUILD_ID="$(Build.BuildId)" -e GIT_COMMIT="$(Build.SourceVersion)" ` + -e NODE_NAME="$(Agent.Name)" -e GIT_URL="$(Build.Repository.Uri)" ` + -e BUILD_TAG="$(Build.BuildNumber)" -e GIT_BRANCH="$(Build.SourceBranchName)" ` + -e PATCH_OR_ISSUE="$(System.PullRequest.SourceRepositoryUri)" -e JIRA_ISSUE_KEY="${{ parameters.JIRA_ISSUE_KEY }}" ` + -e IS_OPTIONAL=0 -e SOURCEDIR="/c/hadoop" -e PATCHDIR="/c/out" ` + -e GITHUB_TOKEN="$(GITHUB_TOKEN)" -e GITHUB_USER="$(GITHUB_USER)" ` + -e IS_NIGHTLY_BUILD="$(IS_NIGHTLY_BUILD)" -e IS_WINDOWS="$(IS_WINDOWS)" ` + -e BASH_EXECUTABLE="/c/Git/bin/bash.exe" ` + -e VCPKG_INSTALLED_PACKAGES="/c/vcpkg/installed/x64-windows" ` + -e CMAKE_TOOLCHAIN_FILE="/c/vcpkg/scripts/buildsystems/vcpkg.cmake" ` + hadoop-windows-10-builder "/c" "xcopy" "/s" "/e" "/h" "/y" "/i" "/q" "C:\src" "C:\hadoop" ` + "&&" "C:\Git\bin\bash.exe" "-c" '"/c/src/dev-support/jenkins.sh" "run_ci"' + + - task: PowerShell@2 + displayName: 'Set Permissions on Output' + condition: always() + inputs: + targetType: 'inline' + script: | + docker run --rm --user ContainerAdministrator ` + -v "$(PATCHDIR):C:\out" ` + hadoop-windows-10-builder "/c" "icacls" "C:\out" "/c" "/t" "/q" "/grant" "Users:F" + + docker run --rm --user ContainerAdministrator ` + -v "F:\maven\repository:C:\Users\$(BUILD_USER)\.m2" ` + hadoop-windows-10-builder "/c" "icacls" "C:\Users\$(BUILD_USER)\.m2" "/c" "/t" "/q" "/grant" "Users:F" + + - task: PowerShell@2 + displayName: 'GitHub Status Recovery' + condition: always() + env: + GITHUB_TOKEN: $(GITHUB_TOKEN) + GITHUB_USER: $(GITHUB_USER) + inputs: + targetType: 'inline' + script: | + docker run --rm -v "$(PATCHDIR):C:\out" ` + -v "$(Build.SourcesDirectory)\src:C:\src" ` + -v "$(Build.SourcesDirectory)\$(YETUS):C:\yetus" ` + -v "F:\maven\repository:C:\Users\$(BUILD_USER)\.m2" ` + -e BUILD_URL="$(Build.BuildUri)" -e BRANCH_NAME="$(Build.SourceBranchName)" ` + -e JOB_NAME="$(Build.DefinitionName)" -e JENKINS_URL="$(System.CollectionUri)" ` + -e CHANGE_URL="$(System.PullRequest.SourceRepositoryUri)" -e WORKSPACE="/c" -e YETUS="yetus" ` + -e BUILD_NUMBER="$(Build.BuildNumber)" -e EXECUTOR_NUMBER="0" ` + -e BUILD_ID="$(Build.BuildId)" -e GIT_COMMIT="$(Build.SourceVersion)" ` + -e NODE_NAME="$(Agent.Name)" -e GIT_URL="$(Build.Repository.Uri)" ` + -e BUILD_TAG="$(Build.BuildNumber)" -e GIT_BRANCH="$(Build.SourceBranchName)" ` + -e PATCH_OR_ISSUE="$(System.PullRequest.SourceRepositoryUri)" -e JIRA_ISSUE_KEY="${{ parameters.JIRA_ISSUE_KEY }}" ` + -e IS_OPTIONAL=0 -e SOURCEDIR="/c/hadoop" -e PATCHDIR="/c/out" ` + -e GITHUB_TOKEN="$(GITHUB_TOKEN)" -e GITHUB_USER="$(GITHUB_USER)" ` + -e IS_NIGHTLY_BUILD="$(IS_NIGHTLY_BUILD)" -e IS_WINDOWS="$(IS_WINDOWS)" ` + -e BASH_EXECUTABLE="/c/Git/bin/bash.exe" ` + -e VCPKG_INSTALLED_PACKAGES="/c/vcpkg/installed/x64-windows" ` + -e CMAKE_TOOLCHAIN_FILE="/c/vcpkg/scripts/buildsystems/vcpkg.cmake" ` + hadoop-windows-10-builder "/c" ` + "C:\Git\bin\bash.exe" "-c" '"/c/src/dev-support/jenkins.sh" "github_status_recovery"' + + - task: PowerShell@2 + displayName: 'Cleanup CI Processes' + condition: always() + inputs: + targetType: 'inline' + script: | + C:\PROGRA~1\Git\bin\bash.exe -c "chmod u+x $(Build.SourcesDirectory)/src/dev-support/jenkins.sh" + C:\PROGRA~1\Git\bin\bash.exe -c "$(Build.SourcesDirectory)/src/dev-support/jenkins.sh cleanup_ci_proc" + + - task: PublishBuildArtifacts@1 + displayName: 'Publish Build Artifacts' + condition: always() + inputs: + PathtoPublish: '$(PATCHDIR)' + ArtifactName: 'output' + publishLocation: 'Container' + + - task: PublishTestResults@2 + displayName: 'Publish Test Results' + condition: always() + inputs: + testResultsFormat: 'JUnit' + testResultsFiles: '**/target/surefire-reports/*.xml' + searchFolder: '$(Build.SourcesDirectory)' + mergeTestResults: true + testRunTitle: 'Windows 10 Tests' + failTaskOnFailedTests: false + + - task: PublishHtmlReport@1 + displayName: 'Publish Yetus HTML Report' + condition: always() + inputs: + reportDir: '$(PATCHDIR)' + tabName: 'Yetus Report' + reportHtml: 'report.html' --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org