-
Notifications
You must be signed in to change notification settings - Fork 0
55 lines (50 loc) · 2.04 KB
/
mirror.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
name: Mirror
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches: [ "main" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
mirror:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- name: Configure git for user ${{ vars.MIRROR_USERNAME }} <${{ vars.MIRROR_EMAIL }}>
env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
run: |
git config --global user.email "${{ vars.MIRROR_EMAIL }}"
git config --global user.name "${{ vars.MIRROR_USERNAME }}"
git config --local --unset-all "http.https://github.com/.extraheader"
git config -l
# Runs a set of commands using the runners shell
- name: Remove unwanted files
run: |
git rm -r .github/workflows
- name: Commit cleanup changes
run: git commit -m "Prepare mirroring"
- name: Set destination to ${{ vars.MIRROR_REMOTE }}
env:
API_TOKEN_GITHUB: ${{ secrets.MIRROR_API_TOKEN }}
run: |
git remote add mirror "https://x-access-token:[email protected]/${{ vars.MIRROR_REMOTE }}.git"
git fetch mirror
git remote -v
- name: Mirror files locally to ${{ vars.MIRROR_REMOTE }}
run: |
SRC_REV=`git rev-parse HEAD`
echo source rev is $SRC_REV
git checkout -b forMirroring mirror/main
git rm -rf .
git checkout $SRC_REV .
git add .
git commit -m "Mirror latest release"
- name: pushing to mirror
run: git push mirror HEAD:main