name: Fix linting from a comment on: issue_comment: types: [created] jobs: deploy: # Only run if comment is on a PR with the main repo, and if it contains the magic keywords if: > contains(github.event.comment.html_url, '/pull/') && contains(github.event.comment.body, '@nf-core-bot fix linting') && github.repository == '{{ name }}' {%- raw %} runs-on: ubuntu-latest steps: # Use the @nf-core-bot token to check out so we can push later - uses: actions/checkout@v3 with: token: ${{ secrets.nf_core_bot_auth_token }} # Action runs on the issue comment, so we don't get the PR by default # Use the gh cli to check out the PR - name: Checkout Pull Request run: gh pr checkout ${{ github.event.issue.number }} env: GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }} - uses: actions/setup-node@v2 - name: Install Prettier run: npm install -g prettier @prettier/plugin-php # Check that we actually need to fix something - name: Run 'prettier --check' id: prettier_status run: | if prettier --check ${GITHUB_WORKSPACE}; then echo "::set-output name=result::pass" else echo "::set-output name=result::fail" fi - name: Run 'prettier --write' if: steps.prettier_status.outputs.result == 'fail' run: prettier --write ${GITHUB_WORKSPACE} - name: Commit & push changes if: steps.prettier_status.outputs.result == 'fail' run: | git config user.email "core@nf-co.re" git config user.name "nf-core-bot" git config push.default upstream git add . git status git commit -m "[automated] Fix linting with Prettier" git push {%- endraw %}