name: Get Friends Avatar

on:
  workflow_dispatch:

jobs:
  crawl:
    runs-on: ubuntu-latest
    steps:
      - name: Set up WARP
        uses: fscarmen/warp-on-actions@v1.1
        with:
          stack: dual # Optional. Support [ ipv4, ipv6, dual ]. Default is dual.

      - name: Checkout code
        uses: actions/checkout@v4
        with:
          ref: master

      - name: Set python
        id: setup-python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12.11'

      - name: Install uv
        uses: astral-sh/setup-uv@v6

      - name: Load cached venv
        id: load-cached-venv
        uses: actions/cache@v4
        with:
          path: logi.im/api/.venv
          key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('logi.im/api/uv.lock') }}

      - name: Install python dependencies
        if: steps.load-cached-venv.outputs.cache-hit != 'true'
        run: |
          cd logi.im/api
          uv sync

      - name: Generate data
        run: |
          cd logi.im/api
          timeout --preserve-status -k 1m 5m uv run python biz/friend.py init

      - name: Commit files
        run: |
          git config --local user.email "action@github.com"
          git config --local user.name "GitHub Action"
          git commit -am "Update friends data"
          git push origin master
