name: Mirror Git on: workflow_dispatch: schedule: - cron: "0 0 */21 * *" jobs: mirror: runs-on: ubuntu-latest permissions: actions: write contents: write pages: write steps: - name: Checkout code uses: actions/checkout@v4 - name: Clone Git Repo run: | REPO=$(basename "${{ github.repository }}") BRANCH=$(basename "${{ github.ref }}") git clone --branch $BRANCH ${{ secrets.URL }}/$REPO.git mirror - name: Copy GitHub Action file to cloned repo run: | mkdir -p mirror/.github/workflows/ cp .github/workflows/mirror.yml mirror/.github/workflows/ - name: Commit and force push to GitHub run: | cd mirror git remote set-url origin https://github.com/${{ github.repository }}.git git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git add . git commit -m "Add GitHub Action file" - name: Push changes uses: ad-m/github-push-action@master with: github_token: ${{ secrets.TOKEN }} repository: ${{ github.repository }} branch: ${{ github.ref }} github_url: https://github.com directory: ./mirror force: true # - name: Release Info # id: info # run: | # response=$(curl -s "https://gitlab.com/api/v4/projects/suyu-emu%2Fsuyu/releases") # name=$(echo "$response" | jq -r '.[0].name') # tag=$(echo "$response" | jq -r '.[0].tag_name') # description=$(echo "$response" | jq -r '.[0].description') # links=$(echo "$response" | jq -r '.[0].assets.links[]? | select(has("url") and has("name")) | "- [\(.name)](\(.url))"') # echo "::set-output name=name::$name" # echo "::set-output name=tag::$name" # echo "## Changes" > description.txt # echo "${description}" >> description.txt # echo "## Downloads" >> description.txt # echo "${links}" >> description.txt # - name: Create Release # uses: ncipollo/release-action@v1 # with: # makeLatest: true # skipIfReleaseExists: true # tag: ${{ steps.info.outputs.tag }} # name: ${{ steps.info.outputs.name }} # bodyFile: "description.txt"