Use nf-core template #1
This file contains 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: Fix linting from a comment | |
on: | |
issue_comment: | |
types: [created] | |
jobs: | |
fix-linting: | |
# 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 == 'nf-core/references' | |
runs-on: ubuntu-latest | |
steps: | |
# Use the @nf-core-bot token to check out so we can push later | |
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 | |
with: | |
token: ${{ secrets.nf_core_bot_auth_token }} | |
# indication that the linting is being fixed | |
- name: React on comment | |
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4 | |
with: | |
comment-id: ${{ github.event.comment.id }} | |
reactions: eyes | |
# 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 }} | |
# Install and run pre-commit | |
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5 | |
with: | |
python-version: "3.12" | |
- name: Install pre-commit | |
run: pip install pre-commit | |
- name: Run pre-commit | |
id: pre-commit | |
run: pre-commit run --all-files | |
continue-on-error: true | |
# indication that the linting has finished | |
- name: react if linting finished succesfully | |
if: steps.pre-commit.outcome == 'success' | |
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4 | |
with: | |
comment-id: ${{ github.event.comment.id }} | |
reactions: "+1" | |
- name: Commit & push changes | |
id: commit-and-push | |
if: steps.pre-commit.outcome == 'failure' | |
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 code linting" | |
git push | |
- name: react if linting errors were fixed | |
id: react-if-fixed | |
if: steps.commit-and-push.outcome == 'success' | |
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4 | |
with: | |
comment-id: ${{ github.event.comment.id }} | |
reactions: hooray | |
- name: react if linting errors were not fixed | |
if: steps.commit-and-push.outcome == 'failure' | |
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4 | |
with: | |
comment-id: ${{ github.event.comment.id }} | |
reactions: confused | |
- name: react if linting errors were not fixed | |
if: steps.commit-and-push.outcome == 'failure' | |
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4 | |
with: | |
issue-number: ${{ github.event.issue.number }} | |
body: | | |
@${{ github.actor }} I tried to fix the linting errors, but it didn't work. Please fix them manually. | |
See [CI log](https://github.com/nf-core/references/actions/runs/${{ github.run_id }}) for more details. |