Bump yaml in /lib/SvelteUi/app #11
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: Pull Request build | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| jobs: | |
| build-esp32s2: | |
| uses: ./.github/workflows/pr-build-env.yml | |
| secrets: inherit | |
| with: | |
| env: esp32s2 | |
| is_esp32: true | |
| build-esp32s3: | |
| uses: ./.github/workflows/pr-build-env.yml | |
| secrets: inherit | |
| with: | |
| env: esp32s3 | |
| is_esp32: true | |
| build-esp32c3: | |
| uses: ./.github/workflows/pr-build-env.yml | |
| secrets: inherit | |
| with: | |
| env: esp32c3 | |
| is_esp32: true | |
| build-esp32: | |
| uses: ./.github/workflows/pr-build-env.yml | |
| secrets: inherit | |
| with: | |
| env: esp32 | |
| is_esp32: true | |
| build-esp32solo: | |
| uses: ./.github/workflows/pr-build-env.yml | |
| secrets: inherit | |
| with: | |
| env: esp32solo | |
| is_esp32: true | |
| build-esp8266: | |
| uses: ./.github/workflows/pr-build-env.yml | |
| secrets: inherit | |
| with: | |
| env: esp8266 | |
| is_esp32: false | |
| comment: | |
| needs: | |
| - build-esp32s2 | |
| - build-esp32s3 | |
| - build-esp32c3 | |
| - build-esp32 | |
| - build-esp32solo | |
| - build-esp8266 | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pull-requests: write | |
| steps: | |
| - name: Post PR comment with download links | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const { owner, repo } = context.repo; | |
| const prNumber = context.payload.pull_request.number; | |
| const runId = context.runId; | |
| const runUrl = `https://github.com/${owner}/${repo}/actions/runs/${runId}`; | |
| // Get the commit SHA (short version) | |
| const sha = context.payload.pull_request.head.sha; | |
| const shortSha = sha.substring(0, 7); | |
| // Fetch the list of artifacts for this run via the API | |
| const artifactsResp = await github.rest.actions.listWorkflowRunArtifacts({ owner, repo, run_id: runId }); | |
| const artifacts = artifactsResp.data.artifacts; | |
| const envs = ['esp32s2', 'esp32s3', 'esp32c3', 'esp32', 'esp32solo', 'esp8266']; | |
| const lines = envs.map(env => { | |
| const artifact = artifacts.find(a => a.name === `${env}.zip`); | |
| if (artifact) { | |
| // The artifact download page URL - directly navigable in the browser | |
| const artifactUrl = `${runUrl}#artifacts-${env}`; | |
| return `- **${env}**: [Download ${env}.zip](https://github.com/${owner}/${repo}/actions/runs/${runId}/artifacts/${artifact.id})`; | |
| } | |
| return `- **${env}**: ⚠️ artifact not found`; | |
| }); | |
| const body = [ | |
| '## 🔧 PR Build Artifacts', | |
| '', | |
| `**Version**: \`${shortSha}\``, | |
| '', | |
| 'All environments built successfully. Download the zip files:', | |
| '', | |
| ...lines, | |
| '', | |
| `> Artifacts expire after 7 days. [View workflow run](${runUrl})`, | |
| ].join('\n'); | |
| // Find and delete any previous bot comment to keep the PR clean | |
| const comments = await github.rest.issues.listComments({ owner, repo, issue_number: prNumber }); | |
| for (const comment of comments.data) { | |
| if (comment.user.type === 'Bot' && comment.body.includes('PR Build Artifacts')) { | |
| await github.rest.issues.deleteComment({ owner, repo, comment_id: comment.id }); | |
| } | |
| } | |
| await github.rest.issues.createComment({ owner, repo, issue_number: prNumber, body }); |