You've already forked library-registry
mirror of
https://github.com/arduino/library-registry.git
synced 2025-07-05 21:21:14 +03:00
Merge pull request #26 from arduino/text-report
Use text format Arduino Lint report in comment
This commit is contained in:
59
.github/workflows/manage-prs.yml
vendored
59
.github/workflows/manage-prs.yml
vendored
@ -169,7 +169,9 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Set environment variables
|
- name: Set environment variables
|
||||||
run: |
|
run: |
|
||||||
echo "REPORT_PATH=${{ runner.temp }}/report.json" >> "$GITHUB_ENV"
|
echo "JSON_REPORT_PATH=${{ runner.temp }}/report.json" >> "$GITHUB_ENV"
|
||||||
|
echo "TEXT_REPORT_PATH=${{ runner.temp }}/report.txt" >> "$GITHUB_ENV"
|
||||||
|
echo "ARDUINO_LINT_INSTALLATION_PATH=${{ runner.temp }}/arduino-lint" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
- name: Comment on error detected while parsing submission
|
- name: Comment on error detected while parsing submission
|
||||||
if: matrix.submission.error != ''
|
if: matrix.submission.error != ''
|
||||||
@ -193,6 +195,16 @@ jobs:
|
|||||||
echo "::error::Error found with submission"
|
echo "::error::Error found with submission"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
||||||
|
- name: Install Arduino Lint
|
||||||
|
run: |
|
||||||
|
mkdir --parents "${{ env.ARDUINO_LINT_INSTALLATION_PATH }}"
|
||||||
|
curl \
|
||||||
|
-fsSL \
|
||||||
|
https://raw.githubusercontent.com/arduino/arduino-lint/main/etc/install.sh \
|
||||||
|
| \
|
||||||
|
BINDIR="${{ env.ARDUINO_LINT_INSTALLATION_PATH }}" \
|
||||||
|
sh
|
||||||
|
|
||||||
- name: Clone submission
|
- name: Clone submission
|
||||||
run: |
|
run: |
|
||||||
git clone \
|
git clone \
|
||||||
@ -202,25 +214,36 @@ jobs:
|
|||||||
|
|
||||||
- name: Lint submission
|
- name: Lint submission
|
||||||
id: arduino-lint
|
id: arduino-lint
|
||||||
uses: arduino/arduino-lint-action@v1
|
|
||||||
continue-on-error: true # Continue the job so the report can be commented to the PR
|
continue-on-error: true # Continue the job so the report can be commented to the PR
|
||||||
with:
|
run: |
|
||||||
library-manager: submit
|
export ARDUINO_LINT_OFFICIAL="${{ matrix.submission.official }}"
|
||||||
project-type: library
|
|
||||||
compliance: permissive
|
|
||||||
official: ${{ matrix.submission.official }}
|
|
||||||
path: ${{ matrix.submission.name }}
|
|
||||||
report-file: ${{ env.REPORT_PATH }}
|
|
||||||
|
|
||||||
- name: Read Arduino Lint report
|
"${{ env.ARDUINO_LINT_INSTALLATION_PATH }}/arduino-lint" \
|
||||||
|
--compliance=permissive \
|
||||||
|
--format=text \
|
||||||
|
--library-manager=submit \
|
||||||
|
--project-type=library \
|
||||||
|
--recursive=false \
|
||||||
|
--report-file="${{ env.JSON_REPORT_PATH }}" \
|
||||||
|
"${{ matrix.submission.name }}" > \
|
||||||
|
"${{ env.TEXT_REPORT_PATH }}"
|
||||||
|
|
||||||
|
- name: Read Arduino Lint reports
|
||||||
id: read-lint-report
|
id: read-lint-report
|
||||||
run: |
|
run: |
|
||||||
echo "::set-output name=report::$(jq -c . "${{ env.REPORT_PATH }}")"
|
echo "::set-output name=json-report::$(jq -c . "${{ env.JSON_REPORT_PATH }}")"
|
||||||
|
|
||||||
|
# In order to use the text format report as a step output, it's necessary to do some character replacements.
|
||||||
|
TEXT_REPORT=$(cat "${{ env.TEXT_REPORT_PATH }}")
|
||||||
|
TEXT_REPORT="${TEXT_REPORT//'%'/'%25'}"
|
||||||
|
TEXT_REPORT="${TEXT_REPORT//$'\n'/'%0A'}"
|
||||||
|
TEXT_REPORT="${TEXT_REPORT//$'\r'/'%0D'}"
|
||||||
|
echo "::set-output name=text-report::$TEXT_REPORT"
|
||||||
|
|
||||||
- name: Comment on Arduino Lint warning
|
- name: Comment on Arduino Lint warning
|
||||||
if: >
|
if: >
|
||||||
fromJson(steps.read-lint-report.outputs.report).summary.warningCount > 0
|
fromJson(steps.read-lint-report.outputs.json-report).summary.warningCount > 0
|
||||||
&& fromJson(steps.read-lint-report.outputs.report).summary.errorCount == 0
|
&& fromJson(steps.read-lint-report.outputs.json-report).summary.errorCount == 0
|
||||||
uses: octokit/request-action@v2.x
|
uses: octokit/request-action@v2.x
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -233,12 +256,12 @@ jobs:
|
|||||||
|
|
|
|
||||||
[Arduino Lint](https://github.com/arduino/arduino-lint) has suggestions for possible improvements to ${{ matrix.submission.submissionURL }}:
|
[Arduino Lint](https://github.com/arduino/arduino-lint) has suggestions for possible improvements to ${{ matrix.submission.submissionURL }}:
|
||||||
|
|
||||||
```json
|
```
|
||||||
${{ toJson(fromJson(steps.read-lint-report.outputs.report).projects) }}
|
${{ steps.read-lint-report.outputs.text-report }}
|
||||||
```
|
```
|
||||||
|
|
||||||
- name: Comment on Arduino Lint error
|
- name: Comment on Arduino Lint error
|
||||||
if: fromJson(steps.read-lint-report.outputs.report).summary.errorCount > 0
|
if: fromJson(steps.read-lint-report.outputs.json-report).summary.errorCount > 0
|
||||||
uses: octokit/request-action@v2.x
|
uses: octokit/request-action@v2.x
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -251,8 +274,8 @@ jobs:
|
|||||||
|
|
|
|
||||||
[Arduino Lint](https://github.com/arduino/arduino-lint) found errors with ${{ matrix.submission.submissionURL }}:
|
[Arduino Lint](https://github.com/arduino/arduino-lint) found errors with ${{ matrix.submission.submissionURL }}:
|
||||||
|
|
||||||
```json
|
```
|
||||||
${{ toJson(fromJson(steps.read-lint-report.outputs.report).projects) }}
|
${{ steps.read-lint-report.outputs.text-report }}
|
||||||
```
|
```
|
||||||
|
|
||||||
- name: Fail on Arduino Lint error
|
- name: Fail on Arduino Lint error
|
||||||
|
Reference in New Issue
Block a user