name: NPM Update Bot 🤖

on:
  push:
    branches: [ "master" ]
  schedule:
    - cron: "0 0 * * 1"

jobs:
  npmupbot:
    name: NPM Update Bot 🤖
    runs-on: ubuntu-latest
    if: github.repository_owner == 'wg-easy'
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          repository: wg-easy/wg-easy
          ref: master
      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: '18'
          check-latest: true
          cache: 'npm'
          cache-dependency-path: |
            package-lock.json
            src/package-lock.json

      - name: Bot 🤖 "Updating NPM Packages..."
        run: |
          npm install -g --silent npm-check-updates
          ncu -u
          npm update
          cd src
          ncu -u
          npm update
          npm run buildcss
          git config --global user.name 'NPM Update Bot'
          git config --global user.email 'npmupbot@users.noreply.github.com'
          git add .
          git commit -am "npm: package updates" || true
          git push