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.

View the project on GitHub

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'