Files
gitea-github-cron/.github/workflows/mirror.yml
T

43 lines
1.1 KiB
YAML

name: Mirror to Gitea
on:
workflow_dispatch:
inputs:
notification_test:
description: Send a test notification without running the mirror
type: boolean
default: false
schedule:
- cron: '0 */4 * * *' # Run every 4 hours
jobs:
mirror:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Run Mirror Script
id: sync
if: ${{ !inputs.notification_test }}
run: node mirror.js
env:
GH_PAT: ${{ secrets.GH_PAT }}
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_URL: ${{ secrets.GITEA_URL }}
- name: Notify via ntfy
if: ${{ always() }}
run: node notify.js
env:
NTFY_TOPIC_URL: ${{ secrets.NTFY_TOPIC_URL }}
WORKFLOW_KIND: mirror
STEP_OUTCOME: ${{ steps.sync.outcome }}
TEST_NOTIFICATION: ${{ inputs.notification_test }}
RUN_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}