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: stratus-templates
      type: git
      name: Cloud Excellence Team/stratus-templates
      ref: main

pool:
  vmImage: 'ubuntu-latest'

extends:
  template: templates/security/security-scans.yml@stratus-templates
  parameters:
    break: false
    stages:
      - stage: build_test
        displayName: Build and test

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

      - stage: release
        displayName: Release

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