diff --git a/.gitea/workflows/create_update_pr.yml b/.gitea/workflows/create_update_pr.yml index b05543a..2e33a47 100644 --- a/.gitea/workflows/create_update_pr.yml +++ b/.gitea/workflows/create_update_pr.yml @@ -6,8 +6,11 @@ permissions: pull-requests: write jobs: - test: + create_update_branch_and_pr: runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write steps: - name: Setup Python @@ -17,16 +20,46 @@ jobs: - name: Install tools run: | - pip install copier + pip install copier PySide6 - name: Checkout uses: actions/checkout@v4 - name: Perform update run: | + set -x + git config --global user.email "bec_ci_staging@psi.ch" + git config --global user.name "BEC automated CI" + branch="chore/update-template-$(python -m uuid)" + echo "switching to branch $branch" git checkout -b $branch - msg = $(copier update --trust --defaults --conflict inline 2>&1 | sed -n 1p) - git add -A - git diff-index --quiet HEAD || git commit -a -m $msg - git push -u origin $branch \ No newline at end of file + + echo "Running copier update..." + output="$(copier update --trust --defaults --conflict inline 2>&1) + echo output + msg=$(echo output | head -n 1)" + + if ! grep -q "make_commit: true" .copier-answers.yml ; then + echo "Autocommit not made, committing..." + git add -A + git commit -a -m "$msg" + fi + + if diff-index --quiet HEAD ; then + echo "No changes detected" + exit 0 + fi + + git push -u origin $branch + echo "BRANCH=$BRANCH" >> $GITHUB_ENV + echo "MSG=$MSG" >> $GITHUB_ENV + + + - name: Create Pull Request + if: env.BRANCH != '' + uses: actions/create-pull-request@v5 + with: + branch: ${{ env.BRANCH }} + title: "$MSG" + body: "This PR was created automatically by the Copier update workflow." \ No newline at end of file