name: Update Develop API Data

on:
  push:
    branches:
    - develop
    paths:
    - 'keyboards/**'
    - 'layouts/community/**'
  workflow_dispatch:

jobs:
  api_data:
    runs-on: ubuntu-latest
    container: qmkfm/qmk_cli

    # protect against those who work in their fork on develop
    if: github.repository == 'qmk/qmk_firmware'

    steps:
    - uses: actions/checkout@v3
      with:
        fetch-depth: 1
        persist-credentials: false

    - name: Generate API Data
      run: |
        python3 -m pip install -r requirements-dev.txt
        qmk generate-api

    - name: Upload API Data
      uses: jakejarvis/s3-sync-action@master
      with:
        args: --acl public-read --follow-symlinks --delete
      env:
        AWS_S3_BUCKET: ${{ secrets.API_SPACE_DEVELOP }}
        AWS_ACCESS_KEY_ID: ${{ secrets.SPACES_ACCESS_KEY }}
        AWS_SECRET_ACCESS_KEY: ${{ secrets.SPACES_SECRET_KEY }}
        AWS_S3_ENDPOINT: https://nyc3.digitaloceanspaces.com
        SOURCE_DIR: '.build/api_data'