You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.0 KiB
63 lines
2.0 KiB
parameters:
|
|
- name: LinuxImage
|
|
type: string
|
|
default: "ubuntu-latest"
|
|
- name: GeneratorVersion
|
|
type: string
|
|
default: "5.0.0-beta2"
|
|
|
|
jobs:
|
|
- job: GenerateApiClients
|
|
displayName: 'Generate Api Clients'
|
|
dependsOn: Test
|
|
|
|
pool:
|
|
vmImage: "${{ parameters.LinuxImage }}"
|
|
|
|
steps:
|
|
- task: DownloadPipelineArtifact@2
|
|
displayName: 'Download OpenAPI Spec Artifact'
|
|
inputs:
|
|
source: 'current'
|
|
artifact: "OpenAPI Spec"
|
|
path: "$(System.ArtifactsDirectory)/openapispec"
|
|
runVersion: "latest"
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Download OpenApi Generator'
|
|
inputs:
|
|
script: "wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/${{ parameters.GeneratorVersion }}/openapi-generator-cli-${{ parameters.GeneratorVersion }}.jar -O openapi-generator-cli.jar"
|
|
|
|
# Generate npm api client
|
|
# Unstable
|
|
- task: CmdLine@2
|
|
displayName: 'Build unstable typescript axios client'
|
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
|
|
inputs:
|
|
script: 'bash ./apiclient/templates/typescript/axios/unstable.sh'
|
|
|
|
- task: Npm@1
|
|
displayName: 'Publish unstable typescript axios client'
|
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
|
|
inputs:
|
|
command: publish
|
|
publishRegistry: useFeed
|
|
publishFeed: unstable
|
|
workingDir: ./apiclient/generated/typescript/axios
|
|
|
|
# Stable
|
|
- task: CmdLine@2
|
|
displayName: 'Build stable typescript axios client'
|
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
|
|
inputs:
|
|
script: 'bash ./apiclient/templates/typescript/axios/stable.sh'
|
|
|
|
- task: Npm@1
|
|
displayName: 'Publish stable typescript axios client'
|
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
|
|
inputs:
|
|
command: publish
|
|
publishRegistry: useExternalRegistry
|
|
publishEndpoint: 'jellyfin-bot for NPM'
|
|
workingDir: ./apiclient/generated/typescript/axios
|