name: Generate OpenAPI SDK on: workflow_dispatch: pull_request: push: branches: [main] permissions: repository-projects: write jobs: generate-typescript-axios: runs-on: ubuntu-latest name: OpenAPI Generator steps: # Checkout your code - name: Checkout uses: actions/checkout@v2 # Use the action to generate a client package # This uses the default path for the openapi document and thus assumes there is an openapi.json in the current workspace. - name: Generate Typescript Axios Client uses: openapi-generators/openapitools-generator-action@v1 with: generator: typescript-axios generator-tag: v6.2.0 openapi-file: server/immich-openapi-specs.json # Do something with the generated client (likely publishing it somewhere) - name: Do something with the client run: | git config --global init.defaultBranch main git config --global pull.rebase false git config --global user.email "immichbot@immich.app" git config --global user.name "Immich Bot" cd typescript-axios-client git init git add . git commit -m "Update SDK" git remote add origin https://immich-app:"${{ secrets.GITHUB_TOKEN }}"@github.com/immich-app/typescript-axios-sdk.git git pull origin main --allow-unrelated-histories git push origin main 2>&1 | grep -v 'To https'