diff options
Diffstat (limited to '.ci/templates/job-uhd-build-installer.yml')
-rw-r--r-- | .ci/templates/job-uhd-build-installer.yml | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/.ci/templates/job-uhd-build-installer.yml b/.ci/templates/job-uhd-build-installer.yml new file mode 100644 index 000000000..e0d9dc9d3 --- /dev/null +++ b/.ci/templates/job-uhd-build-installer.yml @@ -0,0 +1,87 @@ +parameters: +- name: 'toolset' + type: string + values: + - make + - msbuild + - ubuntu_deb +- name: 'installer' + type: string + values: + - rpm # make + - tar # make + - nsis # msbuild + - deb # ubuntu_deb + +jobs: +- job: build_uhd_installer_${{ parameters.toolset }} + displayName: ${{ parameters.toolset }} UHD installer + dependsOn: get_latest_uhd_docker + variables: + # Docker vars from job-get-latest-uhd-docker.yml + dockerBuildNumber: $[ dependencies.get_latest_uhd_docker.outputs['setDockerVar.dockerBuildNumber'] ] + dockerImagePrefix: $[ dependencies.get_latest_uhd_docker.outputs['setDockerVar.dockerImagePrefix'] ] + dockerImageMatrixLin: $[ dependencies.get_latest_uhd_docker.outputs['setDockerVar.dockerImageMatrixLin'] ] + dockerImageMatrixWin: $[ dependencies.get_latest_uhd_docker.outputs['setDockerVar.dockerImageMatrixWin'] ] + dockerImageMatrixUbuntuDeb: $[ dependencies.get_latest_uhd_docker.outputs['setDockerVar.dockerImageMatrixUbuntuDeb'] ] + pool: + ${{ if eq(parameters.toolset, 'msbuild') }}: + name: de-dre-lab + ${{ if ne(parameters.toolset, 'msbuild') }}: + name: Drivers-NIBuildFarm-RFMIBUILD + demands: + - docker + - ${{ if eq(parameters.toolset, 'msbuild') }}: + - Agent.OS -equals Windows_NT + - ${{ if ne(parameters.toolset, 'msbuild') }}: + - Agent.OS -equals Linux + workspace: + clean: outputs + strategy: + ${{ if and(eq(parameters.toolset, 'make'), eq(parameters.installer, 'tarball')) }}: + matrix: $[ variables.dockerImageMatrixLin ] + ${{ if and(eq(parameters.toolset, 'msbuild'), eq(parameters.installer, 'nsis')) }}: + matrix: $[ variables.dockerImageMatrixWin ] + ${{ if and(eq(parameters.toolset, 'ubuntu_deb'), eq(parameters.installer, 'deb')) }}: + matrix: $[ variables.dockerImageMatrixUbuntuDeb ] + container: + image: '$(dockerImagePrefix)$(DockerImageName):$(dockerBuildNumber)' + endpoint: 'Docker / Artifactory - rnd-builds-local' + ${{ if eq(parameters.toolset, 'ubuntu_deb') }}: + #pbuilder requires access to /proc + options: --privileged + steps: + - checkout: self + clean: true + + - download: uhd_build_docker_container + - ${{ if eq(parameters.toolset, 'ubuntu_deb') }}: + - template: steps-build-uhd-installer-ubuntu-deb.yml + parameters: + uhdSrcDir: $(Build.SourcesDirectory) + uhdInstallerDir: $(Build.BinariesDirectory)/uhddev-installer + ubuntuReleaseName: $(ubuntuReleaseName) + - ${{ if ne(parameters.toolset, 'ubuntu_deb') }}: + - download: current + artifact: $(dockerOSName)-${{ parameters.toolset }} + displayName: Download pipeline artifact $(dockerOSName)-${{ parameters.toolset }} + - task: ExtractFiles@1 + inputs: + archiveFilePatterns: $(Pipeline.Workspace)/$(dockerOSName)-${{ parameters.toolset }}/$(dockerOSName)-${{ parameters.toolset }}.tar.gz + destinationFolder: $(Build.BinariesDirectory) + cleanDestinationFolder: true + - ${{ if and(eq(parameters.toolset, 'msbuild'), eq(parameters.installer, 'nsis')) }}: + - template: steps-build-uhd-installer-msbuild-nsis.yml + parameters: + uhdSrcDir: $(Build.SourcesDirectory) + uhdBuildDir: $(Build.BinariesDirectory)\\uhddev\\build + uhdInstallerDir: $(Build.BinariesDirectory)\\uhddev-installer + cmakeCompiler: $(cmakeCompiler) + cmakeArch: $(cmakeArch) + vsArch: $(vsArch) + vsYear: $(vsYear) + - task: PublishPipelineArtifact@1 + inputs: + targetPath: '$(Build.BinariesDirectory)/uhddev-installer' + artifactName: '$(dockerOSName)-${{ parameters.toolset }}-${{ parameters.installer }}-installer' + displayName: Upload uhd installer artifact |