name: Update Commit Hash File

on:
  push:
    branches:
      - main

permissions:
  contents: write

jobs:
  update-commit:
    if: contains(github.event.head_commit.message, '#release') != true
    runs-on: ubuntu-latest

    steps:
    - name: Checkout the code
      uses: actions/checkout@v3
      
    - name: Setup Node.js
      uses: actions/setup-node@v4
      with:
        node-version: '20'
    - name: Get the latest commit hash
      run: |
        echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
        echo "CURRENT_VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV
      
    - name: Update commit file
      run: |
        echo "{ \"commit\": \"$COMMIT_HASH\", \"version\": \"$CURRENT_VERSION\" }" > app/commit.json

    - name: Commit and push the update
      run: |
        git config --global user.name "github-actions[bot]"
        git config --global user.email "github-actions[bot]@users.noreply.github.com"
        git add app/commit.json
        git commit -m "chore: update commit hash to $COMMIT_HASH"
        git push