mirror of
https://github.com/webadderallorg/Recordly.git
synced 2026-09-27 08:15:42 +00:00
refactor: split large files (electron, lib, hooks, scripts)
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
name: Merge macOS metadata
|
||||
description: Merge x64 and arm64 electron-updater metadata into a single latest-mac.yml file
|
||||
|
||||
inputs:
|
||||
x64-directory:
|
||||
description: Directory containing the x64 latest-mac.yml file
|
||||
required: true
|
||||
arm64-directory:
|
||||
description: Directory containing the arm64 latest-mac.yml file
|
||||
required: true
|
||||
output-file:
|
||||
description: Path where the merged latest-mac.yml should be written
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install PyYAML
|
||||
shell: bash
|
||||
run: python -m pip install pyyaml
|
||||
|
||||
- name: Merge latest-mac.yml
|
||||
shell: bash
|
||||
env:
|
||||
X64_DIRECTORY: ${{ inputs.x64-directory }}
|
||||
ARM64_DIRECTORY: ${{ inputs.arm64-directory }}
|
||||
OUTPUT_FILE: ${{ inputs.output-file }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
mkdir -p "$(dirname "$OUTPUT_FILE")"
|
||||
python <<'PY'
|
||||
from pathlib import Path
|
||||
import os
|
||||
|
||||
import yaml
|
||||
|
||||
x64_info = yaml.safe_load(Path(os.environ['X64_DIRECTORY'], 'latest-mac.yml').read_text())
|
||||
arm64_info = yaml.safe_load(Path(os.environ['ARM64_DIRECTORY'], 'latest-mac.yml').read_text())
|
||||
|
||||
merged_files = []
|
||||
seen_urls = set()
|
||||
for info in (x64_info, arm64_info):
|
||||
for file_info in info.get('files', []):
|
||||
url = file_info.get('url')
|
||||
if url and url not in seen_urls:
|
||||
seen_urls.add(url)
|
||||
merged_files.append(file_info)
|
||||
|
||||
if not merged_files:
|
||||
raise SystemExit('No macOS update files found to merge.')
|
||||
|
||||
preferred = next((item for item in merged_files if 'x64' in item.get('url', '')), merged_files[0])
|
||||
merged = dict(x64_info)
|
||||
merged['files'] = merged_files
|
||||
merged['path'] = preferred.get('url', merged.get('path'))
|
||||
merged['sha512'] = preferred.get('sha512', merged.get('sha512'))
|
||||
if not merged.get('releaseDate') and arm64_info.get('releaseDate'):
|
||||
merged['releaseDate'] = arm64_info['releaseDate']
|
||||
|
||||
Path(os.environ['OUTPUT_FILE']).write_text(yaml.safe_dump(merged, sort_keys=False))
|
||||
PY
|
||||
@@ -252,50 +252,12 @@ jobs:
|
||||
name: macos-arm64-release
|
||||
path: release-assets/macos-arm64
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install PyYAML
|
||||
run: python -m pip install pyyaml
|
||||
|
||||
- name: Merge latest-mac.yml
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
mkdir -p release-assets/merged
|
||||
python <<'PY'
|
||||
from pathlib import Path
|
||||
import yaml
|
||||
|
||||
x64_info = yaml.safe_load(Path('release-assets/macos-x64/latest-mac.yml').read_text())
|
||||
arm64_info = yaml.safe_load(Path('release-assets/macos-arm64/latest-mac.yml').read_text())
|
||||
|
||||
merged_files = []
|
||||
seen_urls = set()
|
||||
for info in (x64_info, arm64_info):
|
||||
for file_info in info.get('files', []):
|
||||
url = file_info.get('url')
|
||||
if url and url not in seen_urls:
|
||||
seen_urls.add(url)
|
||||
merged_files.append(file_info)
|
||||
|
||||
if not merged_files:
|
||||
raise SystemExit('No macOS update files found to merge.')
|
||||
|
||||
preferred = next((item for item in merged_files if 'x64' in item.get('url', '')), merged_files[0])
|
||||
merged = dict(x64_info)
|
||||
merged['files'] = merged_files
|
||||
merged['path'] = preferred.get('url', merged.get('path'))
|
||||
merged['sha512'] = preferred.get('sha512', merged.get('sha512'))
|
||||
if not merged.get('releaseDate') and arm64_info.get('releaseDate'):
|
||||
merged['releaseDate'] = arm64_info['releaseDate']
|
||||
|
||||
Path('release-assets/merged/latest-mac.yml').write_text(
|
||||
yaml.safe_dump(merged, sort_keys=False)
|
||||
)
|
||||
PY
|
||||
uses: ./.github/actions/merge-macos-metadata
|
||||
with:
|
||||
x64-directory: release-assets/macos-x64
|
||||
arm64-directory: release-assets/macos-arm64
|
||||
output-file: release-assets/merged/latest-mac.yml
|
||||
|
||||
- name: Upload merged latest-mac.yml artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
|
||||
Reference in New Issue
Block a user