mirror of
https://github.com/GLEGram/GLEGram-iOS.git
synced 2026-04-23 03:16:21 +02:00
2.9 KiB
2.9 KiB
Publishing Guide
Repository Structure
| Repo | URL | Branch | Content |
|---|---|---|---|
| Public | github.com/GLEGram/GLEGram-iOS |
main |
Clean code, no secrets |
| Private | github.com/GLEGram/GLEGram-iOS-Private |
main |
Full code with keys, codesigning |
Local Setup
cd /Users/leeksov/Desktop/GLEGram-iOS-public
# Remotes:
# origin → Public repo (GLEGram/GLEGram-iOS)
# private → Private repo (GLEGram/GLEGram-iOS-Private)
# Branches:
# main → public code (no secrets)
# private → full code (with secrets)
Daily Workflow
1. Работа ведётся в ветке private
git checkout private
# ... делаешь изменения ...
git add -A
git commit -m "Description of changes"
2. Пуш в приватный репо
git push private private:main
3. Публикация в публичный репо
# Переключиться на public ветку
git checkout main
# Слить изменения из private
git merge private --no-commit
# Очистить секреты перед коммитом
./scripts/strip-secrets.sh
# Проверить что секретов нет
./scripts/check-secrets.sh
# Закоммитить и запушить
git add -A
git commit -m "Description of changes"
git push origin main
Файлы с секретами (автоматически очищаются strip-secrets.sh)
| Файл | Что содержит | Публичная замена |
|---|---|---|
Swiftgram/SGConfig/Sources/File.swift |
AES/HMAC ключи, API URL | nil значения |
build-system/ipa-build-configuration.json |
API ID, Hash, Team ID | YOUR_* placeholder |
build-system/glegram-appstore-configuration.json |
То же | YOUR_* placeholder |
build-system/real-codesigning/ |
Сертификаты, профили | Пустые папки с README |
Скрипты
strip-secrets.sh — Удаление секретов перед публикацией
Запускать ТОЛЬКО в ветке main перед коммитом в публичный репо.
check-secrets.sh — Проверка отсутствия секретов
Запускать после strip-secrets.sh для верификации. Если находит секреты — НЕ пушить.
Правила
- НИКОГДА не пушить ветку
privateвorigin(публичный репо) - ВСЕГДА запускать
strip-secrets.shперед пушем в публичный репо - ВСЕГДА проверять
check-secrets.shперед пушем - Новые секреты добавлять ТОЛЬКО в ветку
private - При добавлении нового секретного файла — обновить
strip-secrets.sh