|
@@ -0,0 +1,61 @@
|
|
|
+# Docs see here:
|
|
|
+# https://aka.ms/yaml
|
|
|
+
|
|
|
+jobs:
|
|
|
+- job: 'dist_debian'
|
|
|
+ displayName: 'Dist (debian)'
|
|
|
+ pool:
|
|
|
+ vmImage: 'ubuntu-18.04'
|
|
|
+ steps:
|
|
|
+ - checkout: self
|
|
|
+ submodules: recursive
|
|
|
+
|
|
|
+ - task: Bash@3
|
|
|
+ inputs:
|
|
|
+ targetType: FilePath
|
|
|
+ filePath: ./tools/azure-devops/debian/install.sh
|
|
|
+ failOnStderr: false
|
|
|
+ displayName: Installing required packages
|
|
|
+
|
|
|
+ - task: Bash@3
|
|
|
+ inputs:
|
|
|
+ targetType: FilePath
|
|
|
+ filePath: ./tools/azure-devops/debian/build.sh
|
|
|
+ failOnStderr: false
|
|
|
+ displayName: Building & Testing
|
|
|
+
|
|
|
+ - task: PublishBuildArtifacts@1
|
|
|
+ inputs:
|
|
|
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
|
+ ArtifactName: libopen62541-debian
|
|
|
+ # publishing artifacts from PRs from a fork is currently blocked
|
|
|
+ condition: succeeded()
|
|
|
+ displayName: "Publish Artifact: open62541 Debian Packages"
|
|
|
+
|
|
|
+ # See https://github.com/microsoft/azure-pipelines-tasks/issues/11260#issuecomment-527343172
|
|
|
+ - bash: echo "##vso[task.setvariable variable=TAG]${BUILD_SOURCEBRANCH##refs/tags/}"
|
|
|
+ displayName: Set TAG variable for $(Build.SourceBranch)
|
|
|
+ condition: startswith(variables['Build.SourceBranch'], 'refs/tags/')
|
|
|
+ - task: GitHubRelease@0
|
|
|
+ # Only execute this task if a tags build
|
|
|
+ condition: startswith(variables['Build.SourceBranch'], 'refs/tags/')
|
|
|
+ inputs:
|
|
|
+ gitHubConnection: 'open62541-azure-bot'
|
|
|
+ repositoryName: '$(Build.Repository.Name)'
|
|
|
+ action: 'edit' # Options: create, edit, delete
|
|
|
+ target: '$(Build.SourceVersion)' # Required when action == Create || Action == Edit
|
|
|
+ tagSource: 'Git tag'
|
|
|
+ #tagPattern: # Optional
|
|
|
+ tag: $(TAG) # Required when action == Edit || Action == Delete || TagSource == Manual
|
|
|
+ #title: # Optional
|
|
|
+ #releaseNotesSource: 'file' # Optional. Options: file, input
|
|
|
+ #releaseNotesFile: # Optional
|
|
|
+ #releaseNotes: # Optional
|
|
|
+ assets: '$(Build.ArtifactStagingDirectory)/*' # Optional
|
|
|
+ assetUploadMode: 'replace' # Optional. Options: delete, replace
|
|
|
+ #isDraft: false # Optional
|
|
|
+ #isPreRelease: false # Optional
|
|
|
+ addChangeLog: false # Optional
|
|
|
+ #compareWith: 'lastFullRelease' # Required when addChangeLog == True. Options: lastFullRelease, lastRelease, lastReleaseByTag
|
|
|
+ #releaseTag: # Required when compareWith == LastReleaseByTag
|
|
|
+
|