name: $(Date:yyyyMMdd).$(Rev:r) • ${{ parameters.version }} • dryRun=${{ parameters.dryRun }}

trigger: none
pr: none

parameters:
  - name: version
    type: string
    default: prerelease
    values:
      - prerelease
      - patch
      - minor
      - major
      - prepatch
      - preminor
      - premajor
  - name: dryRun
    type: boolean
    default: false
  - name: pushTags
    type: boolean
    default: true

variables:
  - group: team-webb-general-params

resources:
  repositories:
    - repository: cet-iac
      type: git
      name: Cloud Excellence Team/cet-iac
      ref: main

pool:
  vmImage: 'ubuntu-latest'

stages:
  - stage: build_test
    displayName: Build and test

    jobs:
      - job: unit_test
        displayName: Unit test
        steps:
          - template: templates/test/npm-test.yml@cet-iac
            parameters:
              nodeVersion: 18

  - stage: release
    displayName: Release

    jobs:
      - job: npm_publish
        displayName: Publish NPM package
        steps:
          - template: templates/npm/publish.yml@cet-iac
            parameters:
              nodeVersion: 18
              version: ${{ parameters.version }}
              dryRun: ${{ parameters.dryRun }}
              pushTags: ${{ parameters.pushTags }}
