Skip to content
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

Merged
merged 2 commits into from
Nov 22, 2023
Merged

Introduce Continuous Deployment #544

merged 2 commits into from
Nov 22, 2023

Commits on Nov 22, 2023

  1. Introduce Continuous Deployment

    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
    rgaudin authored and kelson42 committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    6bd468a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e801098 View commit details
    Browse the repository at this point in the history