name: Update on: schedule: - cron: "0 0 * * *" workflow_dispatch: jobs: update: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: ./.actions/init with: token: "${{ secrets.CACHIX_AUTH_TOKEN }}" # https://github.com/actions/checkout/issues/13 - name: Set git config run: | git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" git checkout -B update - run: nix run .#update - name: Create pull request env: PAT: ${{ secrets.PAT }} run: | URL="${{ gitea.server_url }}" REPO_OWNER_SLASH_NAME="${{ gitea.repository }}" if ! git ls-remote --exit-code origin update; then git push origin update --force PR_RESPONSE=$(curl -s -X POST -H "Authorization: token $PAT" \ -H "Content-Type: application/json" \ -d '{"title":"update","body":"automatic update","head":"update","base":"main"}' \ "https://$URL/api/v1/repos/$REPO_OWNER_SLASH_NAME/pulls") PR_NUMBER=$(echo "$PR_RESPONSE" | jq -r '.number') curl -s -X POST -H "Authorization: token $PAT" \ -H "Content-Type: application/json" \ -d '{"Do":"merge","merge_when_checks_succeed":true,"delete_branch_after_merge":true}' \ "https://$URL/api/v1/repos/$REPO_OWNER_SLASH_NAME/pulls/$PR_NUMBER/merge" else git push origin update --force fi