Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zacharyweiss/flipper-app-catalog-action
Auto-staging of Flipper Application Catalog updates
https://github.com/zacharyweiss/flipper-app-catalog-action
action continuous-integration flipper flipper-app flipper-plugin flipper-plugins flipperzero ufbt
Last synced: 29 days ago
JSON representation
Auto-staging of Flipper Application Catalog updates
- Host: GitHub
- URL: https://github.com/zacharyweiss/flipper-app-catalog-action
- Owner: zacharyweiss
- License: mit
- Created: 2024-05-21T14:03:46.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-05-22T15:15:41.000Z (7 months ago)
- Last Synced: 2024-05-22T15:53:19.603Z (7 months ago)
- Topics: action, continuous-integration, flipper, flipper-app, flipper-plugin, flipper-plugins, flipperzero, ufbt
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Auto-prep Flipper App Catalog updates
Unofficial. Use with care; app catalog PRs are manually reviewed by the Flipper team, so one should avoid spamming them with spurious or frivolous PRs.First-time addition of an app to the catalog must be done manually, this simply updates an already existing app manifest with the details of the current commit, staging changes in a branch of one's fork of the `flipperdevices/flipper-application-catalog` repo.
## Usage
```yml
name: Update Flipper Application Catalogon:
workflow_dispatch:
push:
branches:
- main
paths:
- 'application.fam'jobs:
update-catalog:
runs-on: ubuntu-lateststeps:
- uses: zacharyweiss/[email protected]
id: update_manifest
with:
CATALOG_UPDATE_TOKEN: ${{ secrets.CATALOG_UPDATE_TOKEN }}# Auto-PR logic here, or manually initiate PR from the branch created in your App Catalog fork.
```
Usage example can be found in the [MagSpoof GH workflow](https://github.com/zacharyweiss/magspoof_flipper/blob/main/.github/workflows/app_catalog_upd.yml).### Action inputs
All inputs except `CATALOG_UPDATE_TOKEN` are **optional**. If not set, sensible defaults will be used.
| Name | Description | Default |
| --- | --- | --- |
| `CATALOG_UPDATE_TOKEN` | `repo` scoped [Personal Access Token (PAT)](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token). | |
| `CATALOG_REPO` | Name of App Catalog repo | `flipper-application-catalog` |
| `CATALOG_FORK_OWNER` | Owner of App Catalog fork, in which to stage PR branch | `${{ github.repository_owner }}` |
| `CATALOG_UPSTREAM_OWNER` | Owner of upstream App Catalog, to which PRs are opened | `flipperdevices` |
| `COMMIT_USERNAME` | Name to use for automated commits | `${{ github.actor }}` |
| `COMMIT_EMAIL` | Email to use for automated commits | `${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com` |
| `GIT_LOG_PRETTY_FORMAT` | Format for git log pretty-printing | `"%as %h (%an) %s"` |
| `DRY_RUN` | For action testing purposes only; fills example data in manifest.yml for apps not yet in the catalog, instead of updating a preexisting manifest | `false` |
| `VALIDATE_BUNDLE` | Run bundle validation before pushing branch | `true` |### Action outputs
| Name | Description |
| --- | --- |
| `V_MAJOR` | FAP version major |
| `V_MINOR` | FAP version minor |
| `NAME` | Sanitized FAP name (drops brackets, strips whitespace) |
| `APPID` | FAP appid |
| `BRANCH_NAME` | Name of to-be-PR'd branch in App Catalog fork |
| `MANIFEST_PATH` | Path to manifest.yml in App Catalog |
| `CHANGES` | Changes between old and new commit SHAs, per `git log` |
| `OLD_SHA` | Old commit SHA in manifest.yml |