tici/ui: fix memory leak in WiFi list #77
Workflow file for this run
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: "mici raylib ui preview" | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request_target: | |
| types: [assigned, opened, synchronize, reopened, edited] | |
| branches: | |
| - 'master' | |
| paths: | |
| - 'selfdrive/assets/**' | |
| - 'selfdrive/ui/**' | |
| - 'system/ui/**' | |
| workflow_dispatch: | |
| env: | |
| UI_JOB_NAME: "Create mici raylib UI Report" | |
| REPORT_NAME: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && 'master' || github.event.number }} | |
| SHA: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.sha || github.event.pull_request.head.sha }} | |
| BRANCH_NAME: "openpilot/pr-${{ github.event.number }}-mici-raylib-ui" | |
| MASTER_BRANCH_NAME: "openpilot_master_ui_mici_raylib" | |
| # All report files are pushed here | |
| REPORT_FILES_BRANCH_NAME: "mici-raylib-ui-reports" | |
| jobs: | |
| preview: | |
| if: github.repository == 'commaai/openpilot' | |
| name: preview | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| actions: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Waiting for ui generation to end | |
| uses: lewagon/[email protected] | |
| with: | |
| ref: ${{ env.SHA }} | |
| check-name: ${{ env.UI_JOB_NAME }} | |
| repo-token: ${{ secrets.GITHUB_TOKEN }} | |
| allowed-conclusions: success | |
| wait-interval: 20 | |
| - name: Getting workflow run ID | |
| id: get_run_id | |
| run: | | |
| echo "run_id=$(curl https://api.github.com/repos/${{ github.repository }}/commits/${{ env.SHA }}/check-runs | jq -r '.check_runs[] | select(.name == "${{ env.UI_JOB_NAME }}") | .html_url | capture("(?<number>[0-9]+)") | .number')" >> $GITHUB_OUTPUT | |
| - name: Getting proposed ui # filename: pr_ui/mici_ui_replay.mp4 | |
| id: download-artifact | |
| uses: dawidd6/action-download-artifact@v6 | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| run_id: ${{ steps.get_run_id.outputs.run_id }} | |
| search_artifacts: true | |
| name: mici-raylib-report-1-${{ env.REPORT_NAME }} | |
| path: ${{ github.workspace }}/pr_ui | |
| - name: Getting master ui # filename: master_ui_raylib/mici_ui_replay.mp4 | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: commaai/ci-artifacts | |
| ssh-key: ${{ secrets.CI_ARTIFACTS_DEPLOY_KEY }} | |
| path: ${{ github.workspace }}/master_ui_raylib | |
| ref: ${{ env.MASTER_BRANCH_NAME }} | |
| - name: Saving new master ui | |
| if: github.ref == 'refs/heads/master' && github.event_name == 'push' | |
| working-directory: ${{ github.workspace }}/master_ui_raylib | |
| run: | | |
| git checkout --orphan=new_master_ui_mici_raylib | |
| git rm -rf * | |
| git branch -D ${{ env.MASTER_BRANCH_NAME }} | |
| git branch -m ${{ env.MASTER_BRANCH_NAME }} | |
| git config user.name "GitHub Actions Bot" | |
| git config user.email "<>" | |
| mv ${{ github.workspace }}/pr_ui/* . | |
| git add . | |
| git commit -m "mici raylib video for commit ${{ env.SHA }}" | |
| git push origin ${{ env.MASTER_BRANCH_NAME }} --force | |
| - name: Setup FFmpeg | |
| uses: AnimMouse/setup-ffmpeg@ae28d57dabbb148eff63170b6bf7f2b60062cbae | |
| - name: Finding diff | |
| if: github.event_name == 'pull_request_target' | |
| id: find_diff | |
| run: | | |
| # Find the video file from PR | |
| pr_video="${{ github.workspace }}/pr_ui/mici_ui_replay_proposed.mp4" | |
| mv "${{ github.workspace }}/pr_ui/mici_ui_replay.mp4" "$pr_video" | |
| master_video="${{ github.workspace }}/pr_ui/mici_ui_replay_master.mp4" | |
| mv "${{ github.workspace }}/master_ui_raylib/mici_ui_replay.mp4" "$master_video" | |
| # Run report | |
| export PYTHONPATH=${{ github.workspace }} | |
| baseurl="https://github.com/commaai/ci-artifacts/raw/refs/heads/${{ env.BRANCH_NAME }}" | |
| diff_exit_code=0 | |
| python3 ${{ github.workspace }}/selfdrive/ui/tests/diff/diff.py "${{ github.workspace }}/pr_ui/mici_ui_replay_master.mp4" "${{ github.workspace }}/pr_ui/mici_ui_replay_proposed.mp4" "diff.html" --basedir "$baseurl" --no-open || diff_exit_code=$? | |
| # Copy diff report files | |
| cp ${{ github.workspace }}/selfdrive/ui/tests/diff/report/diff.html ${{ github.workspace }}/pr_ui/ | |
| cp ${{ github.workspace }}/selfdrive/ui/tests/diff/report/diff.mp4 ${{ github.workspace }}/pr_ui/ | |
| REPORT_URL="https://commaai.github.io/ci-artifacts/diff_pr_${{ github.event.number }}.html" | |
| if [ $diff_exit_code -eq 0 ]; then | |
| DIFF="✅ Videos are identical! [View Diff Report]($REPORT_URL)" | |
| else | |
| DIFF="❌ <strong>Videos differ!</strong> [View Diff Report]($REPORT_URL)" | |
| fi | |
| echo "DIFF=$DIFF" >> "$GITHUB_OUTPUT" | |
| - name: Saving proposed ui | |
| if: github.event_name == 'pull_request_target' | |
| working-directory: ${{ github.workspace }}/master_ui_raylib | |
| run: | | |
| # Overwrite PR branch w/ proposed ui, and master ui at this point in time for future reference | |
| git config user.name "GitHub Actions Bot" | |
| git config user.email "<>" | |
| git checkout --orphan=${{ env.BRANCH_NAME }} | |
| git rm -rf * | |
| mv ${{ github.workspace }}/pr_ui/* . | |
| git add . | |
| git commit -m "mici raylib video for PR #${{ github.event.number }}" | |
| git push origin ${{ env.BRANCH_NAME }} --force | |
| # Append diff report to report files branch | |
| git fetch origin ${{ env.REPORT_FILES_BRANCH_NAME }} | |
| git checkout ${{ env.REPORT_FILES_BRANCH_NAME }} | |
| cp ${{ github.workspace }}/selfdrive/ui/tests/diff/report/diff.html diff_pr_${{ github.event.number }}.html | |
| git add diff_pr_${{ github.event.number }}.html | |
| git commit -m "mici raylib ui diff report for PR #${{ github.event.number }}" || echo "No changes to commit" | |
| git push origin ${{ env.REPORT_FILES_BRANCH_NAME }} | |
| - name: Comment Video on PR | |
| if: github.event_name == 'pull_request_target' | |
| uses: thollander/actions-comment-pull-request@v2 | |
| with: | |
| message: | | |
| <!-- _(run_id_video_mici_raylib **${{ github.run_id }}**)_ --> | |
| ## mici raylib UI Preview | |
| ${{ steps.find_diff.outputs.DIFF }} | |
| comment_tag: run_id_video_mici_raylib | |
| pr_number: ${{ github.event.number }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |