From 551bcf6e050edcf438be8cfc432e5d398aaf8bc5 Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Mon, 2 Mar 2026 20:51:50 +0100 Subject: [PATCH] ci: improve test comment --- .github/workflows/pr-test-summary.yml | 40 +++++++++++++++++++ ...d-idf-apps.yml => test-python-package.yml} | 24 +++++++---- 2 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/pr-test-summary.yml rename .github/workflows/{test-build-idf-apps.yml => test-python-package.yml} (79%) diff --git a/.github/workflows/pr-test-summary.yml b/.github/workflows/pr-test-summary.yml new file mode 100644 index 0000000..9a5dc15 --- /dev/null +++ b/.github/workflows/pr-test-summary.yml @@ -0,0 +1,40 @@ +name: PR Test Summary + +on: + workflow_run: + workflows: + - Test Python Package + types: + - completed + +permissions: + actions: read + checks: write + pull-requests: write + +jobs: + report: + runs-on: ubuntu-latest + steps: + - name: Download test report + uses: dawidd6/action-download-artifact@v14 + with: + name: test-results + workflow: ${{ github.event.workflow_run.workflow_id }} + run_id: ${{ github.event.workflow_run.id }} + + - name: Read PR number + run: | + if [ -f pr_number.txt ]; then + echo "PR_NUMBER=$(cat pr_number.txt)" >> $GITHUB_ENV + else + echo "pr_number.txt not found, skipping comment." + exit 0 + fi + + - name: Comment on PR + uses: MishaKav/pytest-coverage-comment@v1 + with: + pytest-coverage-path: ./pytest-coverage.txt + junitxml-path: ./pytest.xml + issue-number: ${{ env.PR_NUMBER }} diff --git a/.github/workflows/test-build-idf-apps.yml b/.github/workflows/test-python-package.yml similarity index 79% rename from .github/workflows/test-build-idf-apps.yml rename to .github/workflows/test-python-package.yml index 5bd91ff..66b34a9 100644 --- a/.github/workflows/test-build-idf-apps.yml +++ b/.github/workflows/test-python-package.yml @@ -1,4 +1,4 @@ -name: Test Build IDF Apps +name: Test Python Package concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.run_id }} @@ -7,8 +7,8 @@ concurrency: on: pull_request: paths: - - 'idf_build_apps/**' - - '.github/workflows/test-build-idf-apps.yml' + - "idf_build_apps/**" + - ".github/workflows/test-build-idf-apps.yml" push: branches: - main @@ -43,7 +43,8 @@ jobs: needs: build-python-packages strategy: matrix: - idf-branch: [ release-v5.1, release-v5.2, release-v5.3, release-v5.4, release-v5.5 ] + idf-branch: + [release-v5.2, release-v5.3, release-v5.4, release-v5.5, release-v6.0] runs-on: ubuntu-latest container: image: espressif/idf:${{ matrix.idf-branch }} @@ -82,9 +83,16 @@ jobs: -p $IDF_PATH/examples/get-started/hello_world \ --size-file size_info.json pytest --cov idf_build_apps --cov-report term-missing:skip-covered --junit-xml pytest.xml | tee pytest-coverage.txt - - name: Pytest coverage comment + - name: Save PR number if: github.event_name == 'pull_request' - uses: MishaKav/pytest-coverage-comment@main + run: echo ${{ github.event.number }} > pr_number.txt + - name: Upload test results + uses: actions/upload-artifact@v6 + if: always() && github.event_name == 'pull_request' with: - pytest-coverage-path: pytest-coverage.txt - junitxml-path: pytest.xml + name: test-results + path: | + pr_number.txt + pytest-coverage.txt + pytest.xml + retention-days: 7