mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 02:39:03 -04:00 
			
		
		
		
	chore: add GitHub action to generate SDK in Rust/Typescript/Dart
This commit is contained in:
		
						commit
						1adc64a352
					
				
							
								
								
									
										83
									
								
								.github/workflows/openapi-generator.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								.github/workflows/openapi-generator.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,83 @@ | ||||
| name: Generate OpenAPI SDK | ||||
| 
 | ||||
| on: | ||||
|   workflow_dispatch: | ||||
|   push: | ||||
|     branches: [main] | ||||
| 
 | ||||
| jobs: | ||||
|   generate-typescript-axios: | ||||
|     runs-on: ubuntu-latest | ||||
|     name: OpenAPI Generator | ||||
|     steps: | ||||
|       # Checkout your code | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           token: ${{ secrets.GH_TOKEN }} | ||||
| 
 | ||||
|       # 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: Push to typescript repo | ||||
|         run: | | ||||
|           git config --global init.defaultBranch main | ||||
|           git config --global pull.rebase false | ||||
|           git config --global user.email "alex.tran1502@gmail.com" | ||||
|           git config --global user.name "Alex Tran" | ||||
|           cd typescript-axios-client   | ||||
|           git init | ||||
|           git add . | ||||
|           git commit -m "Update SDK" | ||||
|           git remote add origin https://immich-app:"${{ secrets.GH_TOKEN }}"@github.com/immich-app/immich-sdk-typescript-axios.git | ||||
|           git pull origin main --allow-unrelated-histories | ||||
|           git push origin main 2>&1 | grep -v 'To https' | ||||
| 
 | ||||
|       - name: Generate Dart SDK | ||||
|         uses: openapi-generators/openapitools-generator-action@v1 | ||||
|         with: | ||||
|           generator: dart | ||||
|           generator-tag: v6.2.0 | ||||
|           openapi-file: server/immich-openapi-specs.json | ||||
| 
 | ||||
|       - name: Push to Dart repo | ||||
|         run: | | ||||
|           git config --global init.defaultBranch main | ||||
|           git config --global pull.rebase false | ||||
|           git config --global user.email "alex.tran1502@gmail.com" | ||||
|           git config --global user.name "Alex Tran" | ||||
|           cd dart-client | ||||
|           git init | ||||
|           git add . | ||||
|           git commit -m "Update SDK" | ||||
|           git remote add origin https://immich-app:"${{ secrets.GH_TOKEN }}"@github.com/immich-app/immich-sdk-dart.git | ||||
|           git pull origin main --allow-unrelated-histories | ||||
|           git push origin main 2>&1 | grep -v 'To https' | ||||
| 
 | ||||
|       - name: Generate Rust SDK | ||||
|         uses: openapi-generators/openapitools-generator-action@v1 | ||||
|         with: | ||||
|           generator: rust | ||||
|           generator-tag: v6.2.0 | ||||
|           openapi-file: server/immich-openapi-specs.json | ||||
| 
 | ||||
|       - name: Push to Rust repo | ||||
|         run: | | ||||
|           git config --global init.defaultBranch main | ||||
|           git config --global pull.rebase false | ||||
|           git config --global user.email "alex.tran1502@gmail.com" | ||||
|           git config --global user.name "Alex Tran" | ||||
|           cd rust-client | ||||
|           git init | ||||
|           git add . | ||||
|           git commit -m "Update SDK" | ||||
|           git remote add origin https://immich-app:"${{ secrets.GH_TOKEN }}"@github.com/immich-app/immich-sdk-rust.git | ||||
|           git pull origin main --allow-unrelated-histories | ||||
|           git push origin main 2>&1 | grep -v 'To https' | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user