name: Update on: schedule: - cron: "0 0 * * *" workflow_dispatch: jobs: update: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install Nix uses: cachix/install-nix-action@v31 with: nix_path: nixpkgs=channel:nixos-unstable - name: Use Cachix uses: cachix/cachix-action@v16 with: name: trevstack authToken: "${{ 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 - name: Update run: nix run .#update - name: Create Pull Request env: URL: ${{ vars.URL }} PAT: ${{ secrets.PAT }} run: | 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