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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        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/*"
