-
-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce Continuous Deployment #544
Conversation
Automatically building and deploying in Github Actions for Nightlies and Releases. Triggered by the following: - every day at 01:32am (nightly mode) - manualy (nightly mode) - on release publication (release mode) This workflow makes extensive use of secrets with no additional safe-guard, given: - `schedule` (nightly) runs only off `main` branch. - `workflow_dispatch` (manual) can run on any in-repo branch (but uses the workflow from `main`) - Release publication requires push access to repo. There are thus two *modes*: Release and Nightly (also used on manual dispatch). The mode sets the `VERSION` either to the YYYY-MM-DD date for nightly or the tag-name for the release. It has four *targets*: `macOS dmg`, `macOS app-store`, `iOS ipa` and `iOS app-store` - **macOS dmg**: universal notarized macOS App in a dmg uploaded to `Kiwix-$VERSION.dmg` - **macOS app-store**: universal notarized macOS App uploaded to the App Store. - **iOS ipa**: iOS App uploaded to `Kiwix-$VERSION.ipa` - **iOS app-store**: iOS App uploaded to the App Store Code Signing is *automatic* (xcode decides which one to use based on availability). We use Apple Distribution one for the app-store targets. IPA uses Apple Development and dmg uses Developer ID.⚠️ This allows updates CI workflow to make use of the shared xcbuild action
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for this very essential piece of software
@rgaudin Does something has changed in the CI?! The iOS Ci does not pass anymore (after my rebase)?! |
you merged broken code |
@rgaudin Maybe but I don't get why https://github.com/kiwix/apple/actions/runs/6961075788 passes then! |
Ah you got me! Indeed I fixed the CI which was previously always building for macOS and never for iOS. |
Automatically building and deploying in Github Actions for Nightlies and Releases.
Triggered by the following:
This workflow makes extensive use of secrets with no additional safe-guard, given:
schedule
(nightly) runs only offmain
branch.workflow_dispatch
(manual) can run on any in-repo branch (but uses the workflow frommain
)There are thus two modes: Release and Nightly (also used on manual dispatch). The mode sets the
VERSION
either to the YYYY-MM-DD date for nightly or the tag-name for the release.It has four targets:
macOS dmg
,macOS app-store
,iOS ipa
andiOS app-store
Kiwix-$VERSION.dmg
Kiwix-$VERSION.ipa
Code Signing is automatic (xcode decides which one to use based on availability). We use Apple Distribution one for the app-store targets. IPA uses Apple Development and dmg uses Developer ID.
Fixes #492