name: Update Lock File

on:
  workflow_dispatch:

permissions:
  contents: write

jobs:
  update-lock:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          fetch-depth: 1

      - name: Configure Git
        uses: DanTheMan827/config-git-user-action@v1

      - name: Setup Bun
        uses: oven-sh/setup-bun@v1
        with:
          bun-version: latest

      - name: Cache dependencies
        uses: actions/cache@v3
        with:
          path: |
            ./bun_modules
            ./node_modules
            ./bun.lock
          key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}

      - name: Install dependencies
        run: bun install

      - name: Commit changes
        run: |
          git add -A . || true
          git commit "update lockfile" || true
          git push || true
