mirror of
https://github.com/bryangerlach/rdgen.git
synced 2026-02-21 20:00:53 +00:00
46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
name: Fetch Encrypted Secrets
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
zip_url_json:
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
download-zip:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Download with Retry
|
|
uses: nick-fields/retry@v3
|
|
with:
|
|
timeout_minutes: 1
|
|
max_attempts: 3
|
|
shell: python
|
|
command: |
|
|
import requests
|
|
import json
|
|
import time
|
|
|
|
input_data = json.loads('${{ inputs.zip_url_json }}')
|
|
url = f"{input_data['url']}/get_zip?filename={input_data['file']}"
|
|
|
|
for attempt in range(5):
|
|
try:
|
|
print(f"Downloading (Attempt {attempt + 1})...")
|
|
r = requests.get(url, timeout=20)
|
|
r.raise_for_status()
|
|
with open('secrets.zip', 'wb') as f:
|
|
f.write(r.content)
|
|
break
|
|
except Exception as e:
|
|
if attempt < 4:
|
|
time.sleep(5 * (2 ** attempt))
|
|
else: raise e
|
|
|
|
- name: Upload Encrypted Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: encrypted-secrets-zip
|
|
path: secrets.zip
|
|
retention-days: 1 |