diff --git a/.github/workflows/autopr.yml b/.github/workflows/autopr.yml new file mode 100644 index 0000000..bdcdc11 --- /dev/null +++ b/.github/workflows/autopr.yml @@ -0,0 +1,37 @@ +on: + issues: + types: [labeled] + +permissions: + contents: write + issues: write + pull-requests: write + +jobs: + autopr: + if: ${{ contains( github.event.label.name, 'AutoPR') }} + runs-on: ubuntu-latest + steps: + - name: Install jq + run: sudo apt-get install jq + - name: Check if label was added by a collaborator + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + is_collaborator=$(curl -s -H "Authorization: token $GITHUB_TOKEN" -H "Accept: application/vnd.github+json" \ + "https://api.github.com/repos/${{ github.repository }}/collaborators/${{ github.event.sender.login }}" | jq -r '.message') + if [ "$is_collaborator" == "Not Found" ]; then + echo "Label not added by a collaborator. Skipping action." + exit 78 + fi + - name: Checkout + uses: actions/checkout@v2 + with: + ref: main + fetch-depth: 1 + - name: AutoPR + uses: docker://ghcr.io/irgolic/autopr:latest + env: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }}