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

Reply via email to