azure-pipelines-api-client.yml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. parameters:
  2. - name: LinuxImage
  3. type: string
  4. default: "ubuntu-latest"
  5. - name: GeneratorVersion
  6. type: string
  7. default: "4.3.1"
  8. jobs:
  9. - job: GenerateApiClients
  10. displayName: 'Generate Api Clients'
  11. pool:
  12. vmImage: "${{ parameters.LinuxImage }}"
  13. steps:
  14. - task: DownloadPipelineArtifact@2
  15. displayName: 'Download OpenAPI Spec Artifact'
  16. inputs:
  17. source: 'current'
  18. artifact: "OpenAPI Spec"
  19. path: "$(System.ArtifactsDirectory)/openapispec"
  20. runVersion: "latest"
  21. dependsOn: Test
  22. - task: CmdLine@2
  23. displayName: 'Download OpenApi Generator'
  24. inputs:
  25. scripts: "wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/${{ parameters.GeneratorVersion }}/openapi-generator-cli-${{ parameters.GeneratorVersion }}.jar -O openapi-generator-cli.jar"
  26. # Generate npm api client
  27. # Unstable
  28. - task: npmAuthenticate@0
  29. displayName: 'Authenticate to unstable npm feed'
  30. condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
  31. - task: CmdLine@2
  32. displayName: 'Build unstable typescript axios client'
  33. condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
  34. inputs:
  35. script: 'bash ./apiclient/templates/typescript/unstable.sh axios'
  36. - task: Npm@1
  37. displayName: 'Publish unstable typescript axios client'
  38. condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/master')
  39. inputs:
  40. command: publish
  41. publishRegistry: useFeed
  42. publishFeed: jellyfin/unstable
  43. workingDir: ./apiclient/generated/typescript/axios
  44. # Stable
  45. - task: npmAuthenticate@0
  46. displayName: 'Authenticate to stable npm feed'
  47. condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
  48. - task: CmdLine@2
  49. displayName: 'Build stable typescript axios client'
  50. condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
  51. inputs:
  52. script: 'bash ./apiclient/templates/typescript/stable.sh axios'
  53. - task: Npm@1
  54. displayName: 'Publish stable typescript axios client'
  55. condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/v')
  56. inputs:
  57. command: publish
  58. publishRegistry: useExternalRegistry
  59. publishEndpoint:
  60. workingDir: ./apiclient/generated/typescript/axios