Actions used with GitHub Actions internally at Framna Denmark.
Warning
This repository is made public for transparency and reference purposes. These actions are primarily designed for internal use at Framna Denmark and are tailored to our specific workflows and infrastructure.
We provide no guarantees regarding:
- Backward compatibility between versions
- Stability or suitability for external use cases
- Response to external issues or pull requests
- Documentation completeness for external users
Use these actions at your own risk. Breaking changes may occur without prior notice.
Several of these actions depend on the 1Password CLI being installed. Please use 1Password's install-cli-action action to install the 1Password CLI or load-secrets-action to load secrets into the workflow's environment.
Inputs prefixed with op- expect a 1Password item reference, for example op://My Vault/My Item/field. The action will use op read to fetch the value or file from 1Password at runtime.
Click on any action name below to view detailed documentation, usage examples, and configuration options for that specific action.
| Action | Description |
|---|---|
| build-and-upload-to-app-store-connect | Builds an Xcode project, archives the app, exports an IPA from the archive, and uploads it to App Store Connect. |
| connect-to-vpn | Connects the runner to our a predefined Tailscale exit node. |
| create-and-launch-avd | Creates and launches an Android Virtual Device. |
| create-or-update-pr-comment | Creates (or updates if already exists) a PR comment. Always updates the same comment by default using a hidden marker. |
| install-appiconannotator | Installs appiconannotator. |
| install-artifactory-profile | Installs credentials with read access to our JFrog Artifactory. |
| install-asc-api-key | Installs an App Store Connect API key file on the runner and outputs the issuer ID, key ID, and file path of the AuthKey file. |
| install-certificate | Installs the specified certificate in the keychain. |
| install-ci-ssh-key | Install the CI's SSH key. |
| install-company-asc-api-key | Installs our company App Store Connect API key file on the runner and outputs the issuer ID, key ID, and file path of the AuthKey file. |
| install-company-development-certificate | Installs our default company development certificate in the keychain. |
| install-company-distribution-certificate | Installs our default company distribution certificate in the keychain. |
| install-provisioning-profile | Installs a provisioning profile. |
| install-ssh-key | Installs an SSH key or a deploy key, which is an SSH key that grants access to a single repository. |
| jira-comment | Adds comment to a Jira issue. |
| jira-issues-changelog | Outputs a list of Jira issue keys mentioned in commit messages between the current commit and the most recent tag. |
| loco-translation-status-checker | Checks if there are missing translations in the Localize.biz project throws error. |
| loco-translation-status-poster | Checks if there are missing translations in the Localize.biz project and posts warning to Slack. |
| oasdiff | Runs oasdiff changelog between two OpenAPI specs and outputs the differences. |
| post-slack-message | Posts a message to Slack. |
| render-ios-app-icon-badge | Adds a badge to an iOS app icon to indicate that the app is meant for testing purposes. |
| swiftlint | Runs SwiftLint on a codebase. |
| upload-artifact-firebase | Uploads an APK to Firebase App Distribution. |
| upload-artifact-play-store | Uploads a release build (.apk or .aab) to the internal track of the Play Store. |
| xcode-select | Selects a version of Xcode. The major, minor, and patch values must all be specified, otherwise the action will throw an error. |
| Action | Description |
|---|---|
| install-shipshape | Installs Shipshape and sets an activation code. |
| upload-apk-shipshape | Uploads an APK to Shipshape. |
This repository is versioned as a whole, meaning all actions share the same version.
We follow Semantic Versioning. Version bumps are based on changes merged into main:
- Major: Breaking changes to one or more actions (e.g. removed/renamed inputs, changed outputs, changed behavior in an incompatible way).
- Minor: Backwards-compatible changes (e.g. new action, new functionality, new inputs, enhancements).
- Patch: Bug fixes and other backwards-compatible maintenance changes.
Pull requests with bugfixes and new features are appreciated. We are happy to review PRs and merge them once they are ready, as long as the changes fit the vision of Framna Denmark and align with our internal tech stack and needs.
Clone the repository to get started:
git clone git@github.com:shapehq/actions.git