Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
206 changes: 103 additions & 103 deletions .github/workflows/pr_style_bot.yaml
Original file line number Diff line number Diff line change
@@ -1,112 +1,112 @@
# name: PR Style Bot
name: PR Style Bot

# on:
# issue_comment:
# types: [created]
on:
issue_comment:
types: [created]

# permissions:
# contents: write
# pull-requests: write
permissions:
contents: write
pull-requests: write

# jobs:
# run-style-bot:
# if: >
# contains(github.event.comment.body, '@bot /style') &&
# github.event.issue.pull_request != null &&
# github.event.comment.user.login == 'paulinebm'
jobs:
run-style-bot:
if: >
contains(github.event.comment.body, '@bot /style') &&
github.event.issue.pull_request != null &&
github.event.comment.user.login == 'paulinebm'

# runs-on: ubuntu-latest
runs-on: ubuntu-latest

# steps:
# - name: Extract PR details
# id: pr_info
# uses: actions/github-script@v6
# with:
# script: |
# const prNumber = context.payload.issue.number;
# const { data: pr } = await github.rest.pulls.get({
# owner: context.repo.owner,
# repo: context.repo.repo,
# pull_number: prNumber
# });
steps:
- name: Extract PR details
id: pr_info
uses: actions/github-script@v6
with:
script: |
const prNumber = context.payload.issue.number;
const { data: pr } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: prNumber
});

# // We capture both the branch ref and the "full_name" of the head repo
# // so that we can check out the correct repository & branch (including forks).
# core.setOutput("prNumber", prNumber);
# core.setOutput("headRef", pr.head.ref);
# core.setOutput("headRepoFullName", pr.head.repo.full_name);
# - name: Check out PR branch
# uses: actions/checkout@v3
# env:
# HEADREPOFULLNAME: ${{ steps.pr_info.outputs.headRepoFullName }}
# HEADREF: ${{ steps.pr_info.outputs.headRef }}
# with:
# # Instead of checking out the base repo, use the contributor's repo name
# repository: ${{ env.HEADREPOFULLNAME }}
# ref: ${{ env.HEADREF }}
# # You may need fetch-depth: 0 for being able to push
# fetch-depth: 0
# token: ${{ secrets.GITHUB_TOKEN }}
// We capture both the branch ref and the "full_name" of the head repo
// so that we can check out the correct repository & branch (including forks).
core.setOutput("prNumber", prNumber);
core.setOutput("headRef", pr.head.ref);
core.setOutput("headRepoFullName", pr.head.repo.full_name);
- name: Check out PR branch
uses: actions/checkout@v3
env:
HEADREPOFULLNAME: ${{ steps.pr_info.outputs.headRepoFullName }}
HEADREF: ${{ steps.pr_info.outputs.headRef }}
with:
# Instead of checking out the base repo, use the contributor's repo name
repository: ${{ env.HEADREPOFULLNAME }}
ref: ${{ env.HEADREF }}
# You may need fetch-depth: 0 for being able to push
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}

# - name: Debug
# env:
# HEADREPOFULLNAME: ${{ steps.pr_info.outputs.headRepoFullName }}
# HEADREF: ${{ steps.pr_info.outputs.headRef }}
# PRNUMBER: ${{ steps.pr_info.outputs.prNumber }}
# run: |
# echo "PR number: ${{ env.PRNUMBER }}"
# echo "Head Ref: ${{ env.HEADREF }}"
# echo "Head Repo Full Name: ${{ env.HEADREPOFULLNAME }}"
- name: Debug
env:
HEADREPOFULLNAME: ${{ steps.pr_info.outputs.headRepoFullName }}
HEADREF: ${{ steps.pr_info.outputs.headRef }}
PRNUMBER: ${{ steps.pr_info.outputs.prNumber }}
run: |
echo "PR number: ${{ env.PRNUMBER }}"
echo "Head Ref: ${{ env.HEADREF }}"
echo "Head Repo Full Name: ${{ env.HEADREPOFULLNAME }}"

# - name: Set up Python
# uses: actions/setup-python@v4
# - name: Install dependencies
# env:
# TEST: ${{ secrets.TEST }}
# run: |
# pip install .[quality]
- name: Set up Python
uses: actions/setup-python@v4
- name: Install dependencies
env:
TEST: ${{ secrets.TEST }}
run: |
pip install .[quality]

# - name: Run ruff format --check
# run: |
# ruff format .
# ruff check --fix .
# - name: Commit and push changes
# id: commit_and_push
# env:
# HEADREPOFULLNAME: ${{ steps.pr_info.outputs.headRepoFullName }}
# HEADREF: ${{ steps.pr_info.outputs.headRef }}
# PRNUMBER: ${{ steps.pr_info.outputs.prNumber }}
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# run: |
# echo "HEADREPOFULLNAME: ${{ env.HEADREPOFULLNAME }}, HEADREF: ${{ env.HEADREF }}"
# # Configure git with the Actions bot user
# git config user.name "github-actions[bot]"
# git config user.email "github-actions[bot]@users.noreply.github.com"
# # Make sure your 'origin' remote is set to the contributor's fork
# git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ env.HEADREPOFULLNAME }}.git"
# # If there are changes after running style/quality, commit them
# if [ -n "$(git status --porcelain)" ]; then
# git add .
# git commit -m "Apply style fixes"
# # Push to the original contributor's forked branch
# git push origin HEAD:${{ env.HEADREF }}
# echo "changes_pushed=true" >> $GITHUB_OUTPUT
# else
# echo "No changes to commit."
# echo "changes_pushed=false" >> $GITHUB_OUTPUT
# fi
# - name: Comment on PR with workflow run link
# if: steps.commit_and_push.outputs.changes_pushed == 'true'
# uses: actions/github-script@v6
# with:
# script: |
# const prNumber = parseInt(process.env.prNumber, 10);
# const runUrl = `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/actions/runs/${process.env.GITHUB_RUN_ID}`
# await github.rest.issues.createComment({
# owner: context.repo.owner,
# repo: context.repo.repo,
# issue_number: prNumber,
# body: `Style fixes have been applied. [View the workflow run here](${runUrl}).`
# });
# env:
# prNumber: ${{ steps.pr_info.outputs.prNumber }}
- name: Run ruff format --check
run: |
ruff format .
ruff check --fix .
- name: Commit and push changes
id: commit_and_push
env:
HEADREPOFULLNAME: ${{ steps.pr_info.outputs.headRepoFullName }}
HEADREF: ${{ steps.pr_info.outputs.headRef }}
PRNUMBER: ${{ steps.pr_info.outputs.prNumber }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo "HEADREPOFULLNAME: ${{ env.HEADREPOFULLNAME }}, HEADREF: ${{ env.HEADREF }}"
# Configure git with the Actions bot user
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
# Make sure your 'origin' remote is set to the contributor's fork
git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ env.HEADREPOFULLNAME }}.git"
# If there are changes after running style/quality, commit them
if [ -n "$(git status --porcelain)" ]; then
git add .
git commit -m "Apply style fixes"
# Push to the original contributor's forked branch
git push origin HEAD:${{ env.HEADREF }}
echo "changes_pushed=true" >> $GITHUB_OUTPUT
else
echo "No changes to commit."
echo "changes_pushed=false" >> $GITHUB_OUTPUT
fi
- name: Comment on PR with workflow run link
if: steps.commit_and_push.outputs.changes_pushed == 'true'
uses: actions/github-script@v6
with:
script: |
const prNumber = parseInt(process.env.prNumber, 10);
const runUrl = `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}/actions/runs/${process.env.GITHUB_RUN_ID}`
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
body: `Style fixes have been applied. [View the workflow run here](${runUrl}).`
});
env:
prNumber: ${{ steps.pr_info.outputs.prNumber }}
Loading