UART integration #9
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: gds | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: [opened, labeled, synchronize] | |
| workflow_dispatch: | |
| jobs: | |
| notify: | |
| runs-on: ubuntu-24.04 | |
| # Only run when a PR is opened | |
| if: github.event.action == 'opened' | |
| permissions: | |
| pull-requests: write | |
| steps: | |
| - name: Post GDS workflow notification | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const comment = `👋 Hello! Before merging this PR, you can use the \`run-gds\` label to start the GDS workflow. | |
| ⚠️ **Important:** The GDS workflow takes a long time (~1 hour) and consumes significant CI runtime quota. | |
| **Before running the GDS workflow:** | |
| 1. Make sure you've run the hardening command locally first: | |
| \`\`\`bash | |
| ./tt/tt_tool.py --harden | |
| \`\`\` | |
| 2. Verify that the hardening command succeeded without errors | |
| **To run the GDS workflow:** | |
| - Add the \`run-gds\` label to this PR | |
| - The workflow will run automatically | |
| - It will also re-run on subsequent pushes while the label remains attached | |
| 📚 For more information about the hardening command, see the [TinyTapeout GDS Action](https://github.com/TinyTapeout/tt-gds-action/blob/0d3300e15eda42ae3a24a2bd36433bdd20b32a9f/action.yml#L101-L103).`; | |
| github.rest.issues.createComment({ | |
| issue_number: context.issue.number, | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| body: comment | |
| }); | |
| gds: | |
| runs-on: ubuntu-24.04 | |
| # Only run when manually triggered, on main branch, or when the 'run-gds' label is present on the PR | |
| if: github.event_name == 'workflow_dispatch' || github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'run-gds') | |
| steps: | |
| - name: checkout repo | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Install sv2v | |
| uses: ./.github/actions/install-sv2v | |
| - name: sv2v | |
| run: make sv2v | |
| - name: Build GDS | |
| uses: TinyTapeout/tt-gds-action@ttgf26a | |
| with: | |
| pdk: gf180mcuD | |
| librelane-version: 2.4.2 | |
| precheck: | |
| needs: gds | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Run Tiny Tapeout Precheck | |
| uses: TinyTapeout/tt-gds-action/precheck@ttgf26a | |
| gl_test: | |
| needs: gds | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: checkout repo | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: GL test | |
| uses: TinyTapeout/tt-gds-action/gl_test@ttgf26a | |
| viewer: | |
| needs: gds | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| pages: write # to deploy to Pages | |
| id-token: write # to verify the deployment originates from an appropriate source | |
| steps: | |
| - uses: TinyTapeout/tt-gds-action/viewer@ttgf26a |