chore(rust): update rust-sdk seed (#11477) #6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test Remote vs Local Generation Parity | |
| on: | |
| # Runs on every commit to main | |
| push: | |
| branches: | |
| - main | |
| # Runs when triggered manually | |
| workflow_dispatch: | |
| inputs: | |
| branch: | |
| description: "Branch to test (defaults to main)" | |
| required: false | |
| default: "main" | |
| type: string | |
| # Runs when a generator is published successfully | |
| workflow_run: | |
| workflows: | |
| - "Publish TypeScript SDK Generator" | |
| - "Publish Go SDK Generator" | |
| - "Publish Java SDK Generator" | |
| - "Publish Python SDK Generator" | |
| types: | |
| - completed | |
| branches: | |
| - main | |
| # Cancel previous workflows when another is triggered | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: "buildwithfern" | |
| jobs: | |
| # Determine which generator to test based on the triggering workflow | |
| determine-generator: | |
| runs-on: ubuntu-latest | |
| if: github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' | |
| outputs: | |
| generators: ${{ steps.set-generators.outputs.generators }} | |
| steps: | |
| - name: Set generators to test | |
| id: set-generators | |
| run: | | |
| if [ "${{ github.event_name }}" = "workflow_run" ]; then | |
| # Map workflow name to generator | |
| case "${{ github.event.workflow_run.name }}" in | |
| "Publish TypeScript SDK Generator") | |
| echo 'generators=["ts-sdk"]' >> $GITHUB_OUTPUT | |
| ;; | |
| "Publish Go SDK Generator") | |
| echo 'generators=["go-sdk"]' >> $GITHUB_OUTPUT | |
| ;; | |
| "Publish Java SDK Generator") | |
| echo 'generators=["java-sdk"]' >> $GITHUB_OUTPUT | |
| ;; | |
| "Publish Python SDK Generator") | |
| echo 'generators=["python-sdk"]' >> $GITHUB_OUTPUT | |
| ;; | |
| *) | |
| echo "Unknown workflow: ${{ github.event.workflow_run.name }}" | |
| exit 1 | |
| ;; | |
| esac | |
| else | |
| # For push and workflow_dispatch, test all generators | |
| echo 'generators=["ts-sdk", "java-sdk", "go-sdk", "python-sdk"]' >> $GITHUB_OUTPUT | |
| fi | |
| test-remote-local-parity: | |
| needs: determine-generator | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| generator: ${{ fromJson(needs.determine-generator.outputs.generators) }} | |
| steps: | |
| - name: Checkout Repo | |
| uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ inputs.branch || 'main' }} | |
| - name: Install | |
| uses: ./.github/actions/install | |
| - name: Compile | |
| run: pnpm compile | |
| - name: Build Fern CLI | |
| run: pnpm fern:build | |
| - name: Build Seed CLI | |
| run: pnpm seed:build | |
| - name: Run Seed Test Remote-Local (${{ matrix.generator }}) | |
| run: pnpm seed test-remote-local --generator ${{ matrix.generator }} --output-mode github | |
| env: | |
| FERN_TOKEN: ${{ secrets.FERN_FERN_TOKEN }} | |
| GITHUB_TOKEN: ${{ secrets.TEST_REMOTE_LOCAL_GITHUB_TOKEN }} |