Skip to content
book

GitHub Action

Update Flipper Application Catalog

v1.2 Latest version

Update Flipper Application Catalog

book

Update Flipper Application Catalog

Stages PR branch for App Catalog update in owner's fork

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Update Flipper Application Catalog

uses: zacharyweiss/[email protected]

Learn more about this action in zacharyweiss/flipper-app-catalog-action

Choose a version

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

name: Update Flipper Application Catalog

on:
  workflow_dispatch:
  push:
    branches:
      - main
    paths:
      - 'application.fam'

jobs:
  update-catalog:
    runs-on: ubuntu-latest

    steps:
      - 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.

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).
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