name: Mirror to Codeberg

on:
  push:
    branches: [ main ]
  delete:
  workflow_dispatch:

jobs:
  mirror:
    if: github.repository_owner == 'miniflux'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
        with:
          fetch-depth: 0
      - name: Mirror to Codeberg
        env:
          CODEBERG_USERNAME: ${{ secrets.CODEBERG_USERNAME }}
          CODEBERG_TOKEN: ${{ secrets.CODEBERG_TOKEN }}
        run: |
          git remote add codeberg https://${{ secrets.CODEBERG_USERNAME }}:${{ secrets.CODEBERG_TOKEN }}@codeberg.org/miniflux/v2.git
          git push --force --prune codeberg \
            "refs/heads/*:refs/heads/*" \
            "refs/tags/*:refs/tags/*"
