diff --git a/.gitea/workflows/deployment.yml b/.gitea/workflows/deployment.yml index 2fd080c3..d2df95de 100644 --- a/.gitea/workflows/deployment.yml +++ b/.gitea/workflows/deployment.yml @@ -26,12 +26,20 @@ jobs: run: | tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }} tea login default gitea-rinoa - echo "Checking if PR exists for ${{ github.ref_name }}..." - tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head,state --output csv | egrep '${{ github.ref_name }}' | head -1 | egrep -q 'open' + echo "Checking if PR exists for ${{ github.ref_name }}" + tea pr ls --repo ${{ github.repository }} --state open --fields index,title,head,state + tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head,state --output csv | egrep -q '${{ github.ref_name }}' if [ $? -eq 0 ]; then - echo "An open PR exists, skipping creation..." - elif [ $? -ne 0 ]; then - echo "No open PRs, creating one..." + echo "PR exists, checking state..." + pr_state=$(tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head,state --output csv | egrep '${{ github.ref_name }}' | awk -F',' '{print $4}' | sed -e 's|"||g') + if [ "${pr_state}" != 'open' ]; then + echo "No open PRs exist, creating one now beep boop..." + tea pr c -r "${{ github.repository }}" -t "Automated PR for ${{ github.ref_name }}" -d "Automated PR for ${{ github.ref_name }}" + elif [ "${pr_state}" = 'open' ]; then + echo "PR already exists, skipping creation..." + fi + elif [ $? -eq 1 ]; then + echo "PR does not exist, creating..." tea pr c -r "${{ github.repository }}" -t "Automated PR for ${{ github.ref_name }}" -d "Automated PR for ${{ github.ref_name }}" fi