https://github.com/lando/notarize-action
A GitHub action to Apple notarize files. Originally adapted from https://github.com/devbotsxyz/xcode-notarize
https://github.com/lando/notarize-action
actions github-actions lando
Last synced: 8 months ago
JSON representation
A GitHub action to Apple notarize files. Originally adapted from https://github.com/devbotsxyz/xcode-notarize
- Host: GitHub
- URL: https://github.com/lando/notarize-action
- Owner: lando
- License: gpl-3.0
- Created: 2023-04-27T13:16:16.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-21T01:18:51.000Z (over 1 year ago)
- Last Synced: 2025-05-06T22:08:42.732Z (8 months ago)
- Topics: actions, github-actions, lando
- Language: JavaScript
- Homepage:
- Size: 502 KB
- Stars: 8
- Watchers: 3
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Notarize Action
This action Apple-notarizes macOS applications or plug-ins. It does this by submitting your built `.app` (or non-app bundle) to Apple's notarization service.
It uses `notarytool` by default but can be configured to use `altool`. In the case of the latter it will poll the notarization service until it times out or receives a success response.
> **NOTE:** Originally forked from https://github.com/devbotsxyz/xcode-notarize
## Required Inputs
These keys must be set correctly for the action to work.
| Name | Description | Example Value |
|---|---|---|
| `product-path` | The path to the product to notarize. | `/dist/MyApp.app` |
| `appstore-connect-username` | The AppStore Connect username. | `${{ secrets.NOTARIZATION_USERNAME }}` |
| `appstore-connect-password` | The AppStore Connect password. | `${{ secrets.NOTARIZATION_PASSWORD }}` |
| `appstore-connect-team-id` | The AppStore Connect team id. Only required when using `notarytool`. | `FY8GAUX283` |
## Optional Inputs
These keys are set to sane defaults but can be modified as needed.
| Name | Description | Default | Example |
|---|---|---|---|
| `appstore-connect-api-key` | The AppStore Connect API Key. | `null` | `${{ secrets.NOTARIZATION_API_KEY }}` |
| `appstore-connect-api-issuer` | The AppStore Connect API Issuer. | `null` | `${{ secrets.NOTARIZATION_API_ISSUER }}` |
| `primary-bundle-id` | A unique identifier that identifies this product notarization. | bundle identifier of the app you are uploading. | `dev.lando.my-app` |
| `tool` | The `xcrun` notarization tool to use. | `notarytool` | `altool` |
| `verbose` | Verbose mode will print Notarization API responses. | `false` | `true` |
## Usage
### Basic Usage
```yaml
- name: Notarize Release Build
uses: lando/notarize-action@v2
with:
product-path: "/dist/MyApp.app"
appstore-connect-username: ${{ secrets.NOTARIZATION_USERNAME }}
appstore-connect-password: ${{ secrets.NOTARIZATION_PASSWORD }}
appstore-connect-team-id: FY8GAUX283
```
Note that notarization is not the final step. After Apple has notarized your application, you also want to _staple_ a notarization ticket to your product.
This can be done with the [Xcode Staple](https://github.com/marketplace/actions/xcode-staple) action.
## Changelog
We try to log all changes big and small in both [THE CHANGELOG](https://github.com/lando/notarize-action/blob/main/CHANGELOG.md) and the [release notes](https://github.com/lando/notarize-action/releases).
## Releasing
Create a release and publish to [GitHub Actions Marketplace](https://docs.github.com/en/enterprise-cloud@latest/actions/creating-actions/publishing-actions-in-github-marketplace). Note that the release tag must be a [semantic version](https://semver.org/).
## Maintainers
* [@pirog](https://github.com/pirog)
* [@reynoldsalec](https://github.com/reynoldsalec)
## Contributors
Made with [contrib.rocks](https://contrib.rocks).
## Other Resources
* [Important advice](https://www.youtube.com/watch?v=WA4iX5D9Z64)