-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
96 lines (92 loc) · 2.89 KB
/
action.yml
File metadata and controls
96 lines (92 loc) · 2.89 KB
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
name: 'Multi Git Mirror'
description: 'Mirror repositories to multiple Git hosting providers (GitLab, CodeCommit, Bitbucket, etc.)'
author: 'somaz94'
branding:
icon: 'copy'
color: 'blue'
inputs:
targets:
description: 'Mirror target URLs (newline-separated). Format: provider::url or just url'
required: true
gitlab_token:
description: 'GitLab personal access token'
required: false
default: ''
github_token:
description: 'GitHub personal access token'
required: false
default: ''
bitbucket_username:
description: 'Bitbucket username for API token auth'
required: false
default: ''
bitbucket_api_token:
description: 'Bitbucket API token'
required: false
default: ''
ssh_private_key:
description: 'SSH private key for SSH-based authentication'
required: false
default: ''
mirror_branches:
description: 'Branches to mirror (comma-separated, or "all" for all branches)'
required: false
default: 'all'
mirror_tags:
description: 'Mirror tags (true/false)'
required: false
default: 'true'
force_push:
description: 'Use force push (true/false)'
required: false
default: 'true'
dry_run:
description: 'Dry run mode - log actions without pushing (true/false)'
required: false
default: 'false'
retry_count:
description: 'Number of retry attempts on push failure (0 = no retry)'
required: false
default: '0'
retry_delay:
description: 'Delay in seconds between retry attempts'
required: false
default: '5'
exclude_branches:
description: 'Branches to exclude from mirroring (comma-separated)'
required: false
default: ''
parallel:
description: 'Mirror to multiple targets in parallel (true/false)'
required: false
default: 'false'
debug:
description: 'Enable debug logging (true/false)'
required: false
default: 'false'
outputs:
result:
description: 'JSON object with mirror results per target'
mirrored_count:
description: 'Number of successfully mirrored targets'
failed_count:
description: 'Number of failed mirror targets'
runs:
using: 'docker'
image: 'Dockerfile'
env:
INPUT_TARGETS: ${{ inputs.targets }}
INPUT_GITLAB_TOKEN: ${{ inputs.gitlab_token }}
INPUT_GITHUB_TOKEN: ${{ inputs.github_token }}
INPUT_BITBUCKET_USERNAME: ${{ inputs.bitbucket_username }}
INPUT_BITBUCKET_API_TOKEN: ${{ inputs.bitbucket_api_token }}
INPUT_SSH_PRIVATE_KEY: ${{ inputs.ssh_private_key }}
INPUT_MIRROR_BRANCHES: ${{ inputs.mirror_branches }}
INPUT_MIRROR_TAGS: ${{ inputs.mirror_tags }}
INPUT_FORCE_PUSH: ${{ inputs.force_push }}
INPUT_DRY_RUN: ${{ inputs.dry_run }}
INPUT_RETRY_COUNT: ${{ inputs.retry_count }}
INPUT_RETRY_DELAY: ${{ inputs.retry_delay }}
INPUT_EXCLUDE_BRANCHES: ${{ inputs.exclude_branches }}
INPUT_PARALLEL: ${{ inputs.parallel }}
INPUT_DEBUG: ${{ inputs.debug }}