
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 GitHubKey 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

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'