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" ## Authenticate with npm registry - task: npmAuthenticate@0 inputs: workingFile: ./.npmrc customEndpoint: 'jellyfin-bot for NPM' ## Generate npm api client - task: CmdLine@2 displayName: 'Build stable typescript axios client' condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v') inputs: script: "bash ./apiclient/templates/typescript/axios/generate.sh $(System.ArtifactsDirectory)" ## Run npm install - task: Npm@1 displayName: 'Install npm dependencies' inputs: command: install workingDir: ./apiclient/generated/typescript/axios ## Publish npm packages - 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