Skip to content

kharkevich/ado-semantic-release

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semantic Release Azure DevOps pipeline extensions

Release notes

Generate Release notes based on conventional commits by pipeline step

release-notes task

Azure pipelines (default parameters):

steps:
- task: release-notes@1
  displayName: 'Release notes'

Azure pipelines (all parameters):

steps:
- task: release-notes@1
  displayName: 'Release notes'
  inputs:
    releaseNotesFrom: 1.0.0
    releaseNotesTo: HEAD
    releaseNotesPath: docs/release-notes.md 
    releaseNotesTemplatePath: src/main/resources/release-notes-template.md
    setVersionToGitTag: true
    gitTagPrefix: v
    gitTagSuffix: alpha
    hideSubprocessOutput: true
    workingDirectory:  $(Build.SourcesDirectory)
    normalizeMergeCommit: true

push-git-tag task

Description: Push all git tags or only the latest git tag to the ADO git repository

Precondition:

Git credentials, user name and email should be configured before running this task. See Microsoft docs page for more information.

Example:

steps:
  - checkout: self
    persistCredentials: true
    clean: true
    displayName: "Allow scripts to access the system token"
  - script: |
      git config user.email [email protected]
      git config user.name "ADO Build agent"
    displayName: "Configure git user"

Azure pipelines (default parameters):

steps:
- task: push-git-tag@1
  displayName: 'Push git tag'

Azure pipelines (all parameters):

steps:
- task: push-git-tag@1
  displayName: 'Push git tag'
  inputs:
    publishLatestTagOnly: true
    remoteName: origin
    hideSubprocessOutput: true
    workingDirectory:  $(Build.SourcesDirectory)

update-yaml

Description: Update key:value in the yaml file (e.g. version)

Azure pipelines (minimal allowed parameters):

steps:
- task: update-yaml@1
  displayName: 'Update yaml'
  inputs:
    filename: Chart.yaml
    key: version

Azure pipelines (all parameters):

steps:
- task: update-yaml@1
  displayName: 'Update yaml'
  inputs:
    filename: Chart.yaml
    key: version
    value: 3.2.1 # if omitted will use the latest git tag
    createBackup: true # create a backup of the original file
    hideSubprocessOutput: true
    workingDirectory:  $(Build.SourcesDirectory)

See Conventional Commits for specification.


Icons by Flaticon