# Workflow derived from https://github.com/r-lib/actions/tree/master/examples
# The action runs when:
# - A new release is published
# - The DESCRIPTION or inst/CITATION are modified
# - Can be run manually
# For customizing the triggers, visit https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
on:
  release:
    types: [published]
  push:
    branches: [master, main]
    paths:
    - DESCRIPTION
    - inst/CITATION
  workflow_dispatch:


name: Update CITATION.cff
permissions:
  contents: write

jobs:
  update-citation-cff:
    runs-on: ubuntu-latest
    env:
      GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
    steps:
    - uses: actions/checkout@v6
    - uses: r-lib/actions/setup-r@v2
      with:
        use-public-rspm: true
    - uses: r-lib/actions/setup-r-dependencies@v2
      with:
        extra-packages: |
          any::cffr
          any::V8

    - name: Update CITATION.cff
      run: |
        
        library(cffr)

        # Customize with your own code
        # See https://docs.ropensci.org/cffr/articles/cffr.html

        # Write your own keys
        mykeys <- list()

        # Create your CITATION.cff file
        cff_write(keys = mykeys)

      shell: Rscript {0}

    - name: Commit results
      run: |
        git config --local user.name "github-actions[bot]"
        git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
        git add CITATION.cff
        git commit -m 'Update CITATION.cff' || echo "No changes to commit"
        git push origin || echo "No changes to commit"
