| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- ---
- name: 🕴️ Style check
- on:
- push:
- branches:
- - master
- - release-**
- pull_request:
- branches:
- - master
- - release-**
- issue_comment:
- types: [created]
- jobs:
- astyle-check:
- runs-on: ubuntu-20.04
- steps:
- - uses: actions/github-script@v5
- if: ${{ github.event.issue.pull_request }}
- id: get-pr
- with:
- script: |
- const request = {
- owner: context.repo.owner,
- repo: context.repo.repo,
- pull_number: context.issue.number
- }
- core.info(`Getting PR #${request.pull_number} from ${request.owner}/${request.repo}`)
- try {
- const result = await github.rest.pulls.get(request)
- return result.data
- } catch (err) {
- core.setFailed(`Request failed with error ${err}`)
- }
- - uses: actions/checkout@v2
- if: ${{ github.event.issue.pull_request }}
- with:
- repository: ${{ fromJSON(steps.get-pr.outputs.result).head.repo.full_name }}
- ref: ${{ fromJSON(steps.get-pr.outputs.result).head.sha }} # or .head.ref for branch name
- - uses: actions/checkout@v2
- if: ${{ !github.event.issue.pull_request }}
- - uses: khan/pull-request-comment-trigger@master
- id: indent-check
- if: ${{ github.event.issue.pull_request }}
- with:
- trigger: '@qfield-fairy style please'
- reaction: rocket
- env:
- GITHUB_TOKEN: '${{ secrets.FAIRY_TOKEN }}'
- - name: Check astyle
- id: astyle-check
- run: |
- sudo apt install -y astyle
- find src/ -name '*.cpp' -o -name '*.h' | xargs ./scripts/astyle.sh
- find test/ -name '*.cpp' -o -name '*.h' | xargs ./scripts/astyle.sh
- if [ ! -z "$(git status --porcelain)" ]; then
- echo "::error::Indentation errors found (astyle)"
- echo "::group::Indentation changes"
- git diff
- echo "::endgroup"
- echo '::set-output name=changed::true'
- fi
- - name: Comment
- uses: thollander/actions-comment-pull-request@main
- if: steps.indent-check.outputs.changed == 'true' && steps.indent-check.outputs.triggered != 'true'
- with:
- message: |
- Code formatting issues have been detected.
- Reply with `@qfield-fairy style please` to fix it up 🪄.
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - uses: EndBug/add-and-commit@v7.4.0
- if: steps.indent-check.outputs.triggered == 'true'
- with:
- author_name: Style Fairy
- author_email: fairy@qfield.org
- message: 'Committing astyle changes'
- branch: ${{ fromJSON(steps.get-pr.outputs.result).head.ref }}
- env:
- GITHUB_TOKEN: ${{ secrets.FAIRY_TOKEN }}
|