The profil picture of Benoit Verhaeghe

AutoReneraku

AutoReneraku is a GitHub action that automatically analyzes pull requests written in Smalltalk, performs code reviews, and suggests corrections. Simplify your development workflows with this powerful and intelligent tool.

Key Features
  • Automatic analysis of pull requests in Smalltalk.
  • Intelligent code review and correction suggestions.
  • Easy integration into your GitHub Actions workflows.

Description

Autoreneraku is a GitHub action that leverage the Pharo Critiques project (also known as Reneraku) to perform Pull Request code review automatically. To do so, it:
  • Load your project in Iceberg
  • Look for all the classes modified in your Pull Request
  • Perform Pharo Critiques on your modified classes
  • Search for code modification comparing Critique applied modification with original code
  • Add a code review for each difference
One the code Reneraku has performed its analysis, you can see in your Pull Request the code suggested. It is then possible accept a suggestion to fix the bug without loading the project in another Pharo Image.
The profil picture of Benoit Verhaeghe

Configuration Example

1name: autoreneraku 2 3# Controls when the action will run. Triggers the workflow on push or pull request 4# events but only for the development branch 5on: 6 pull_request: 7 branches: 8 - v* 9 - main 10 11env: 12 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 13 14permissions: 15 contents: write 16 pull-requests: write 17 repository-projects: write 18 id-token: write 19 20jobs: 21 build: 22 runs-on: ubuntu-latest 23 env: 24 PROJECT_NAME: ${{ matrix.smalltalk }} 25 PULL_REQUEST_NUMBER: ${{ github.event.number }} 26 COMMIT_SHA: ${{ github.event.pull_request.head.sha }} 27 PAT: ${{ secrets.PAT }} 28 strategy: 29 matrix: 30 smalltalk: [ Pharo64-12 ] 31 name: ${{ matrix.smalltalk }} 32 steps: 33 - uses: actions/checkout@v2 34 with: 35 fetch-depth: '0' 36 - uses: hpi-swa/setup-smalltalkCI@v1 37 id: smalltalkci 38 with: 39 smalltalk-image: ${{ matrix.smalltalk }} 40 - run: smalltalkci -s ${{ steps.smalltalkci.outputs.smalltalk-image }} .smalltalk-autoreneraku.ston 41 shell: bash 42 timeout-minutes: 15 43 - name: AutoReneraku 44 uses: badetitou/AutoReneraku@main 45 with: 46 pat: ${{ secrets.PAT }} 47 smalltalk: ${{ steps.smalltalkci.outputs.smalltalk-image }} 48 pharo-image: '/home/runner/.smalltalkCI/_builds/TravisCI.image'