Skip to content

Commit 50f0cac

Browse files
authored
Merge pull request #3 from taizo/multi_repos
Multi repos support
2 parents e35b75c + c92527a commit 50f0cac

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
#### OWNER_REPOSITORY
2525
- Required: ***True***
26-
- Description: The owner and repository name. For example, octocat/Hello-World. If being ran in the repo being updated, you can use `${{github.repository}}`
26+
- Description: The owner and repository name. For example, octocat/Hello-World. If being ran in the repo being updated, you can use `${{github.repository}}`. Multiple repositories can be specified by a comma-separated list (e.g. `OWNER_REPOSITORY: ${{ github.repository }},MyGitHubOrgOrUser/MyGitHubRepo`).
2727

2828
#### GITHUB_ACCESS_KEY_NAME
2929
- Required: ***False***

rotate_keys.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,17 @@ def main_function():
4242
#generate new credentials
4343
(new_access_key, new_secret_key) = create_new_keys(iam_username)
4444

45-
#get repo pub key info
46-
(public_key, pub_key_id) = get_pub_key(owner_repository, github_token)
45+
for repos in [x.strip() for x in owner_repository.split(',')]:
46+
#get repo pub key info
47+
(public_key, pub_key_id) = get_pub_key(repos, github_token)
4748

48-
#encrypt the secrets
49-
encrypted_access_key = encrypt(public_key,new_access_key)
50-
encrypted_secret_key = encrypt(public_key,new_secret_key)
49+
#encrypt the secrets
50+
encrypted_access_key = encrypt(public_key,new_access_key)
51+
encrypted_secret_key = encrypt(public_key,new_secret_key)
5152

52-
#upload secrets
53-
upload_secret(owner_repository,access_key_name,encrypted_access_key,pub_key_id,github_token)
54-
upload_secret(owner_repository,secret_key_name,encrypted_secret_key,pub_key_id,github_token)
53+
#upload secrets
54+
upload_secret(repos,access_key_name,encrypted_access_key,pub_key_id,github_token)
55+
upload_secret(repos,secret_key_name,encrypted_secret_key,pub_key_id,github_token)
5556

5657
#delete old keys
5758
delete_old_keys(iam_username, current_access_id)
@@ -131,8 +132,9 @@ def upload_secret(owner_repo,key_name,encrypted_value,pub_key_id,github_token):
131132
good_status_codes = [204,201]
132133

133134
if updated_secret.status_code not in good_status_codes:
134-
print(f'Got status code: {updated_secret.status_code} on updating {key_name}')
135+
print(f'Got status code: {updated_secret.status_code} on updating {key_name} in {owner_repo}')
135136
sys.exit(1)
137+
print(f'Updated {key_name} in {owner_repo}')
136138

137139
# run everything
138140
main_function()

0 commit comments

Comments
 (0)