mikybars / build-alfred-workflow

A GitHub Action to package Alfred workflows

Home Page:https://github.com/marketplace/actions/build-an-alfred-workflow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build an Alfred workflow

Assemble the files within a source directory into an Alfred workflow single package ready to be distributed.

The name of the output file is generated from the workflow name and version contained in the workflow's metadata.

Usage

Pre-requisites

This action needs a file named info.plist with the metadata of your workflow in the root of your repo. This file is automatically generated for you when exporting workflows via the Alfred GUI.

Inputs

  • workflow_dir: Directory containing the sources of the workflow (defaults to workflow)
  • exclude_patterns: List of excluded files/directories (optional)
  • custom_version: String that will override the workflow version, e.g. a git tag (optional)

Outputs

  • workflow_file: The name of the created .alfredworkflow file

Example workflow

On every push to a tag matching the pattern v*, create a release with the workflow file attached:

name: Create Alfred Workflow

on:
  push:
    tags:
      - 'v*'

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - name: Build Alfred workflow
        id: builder
        uses: almibarss/build-alfred-workflow@v1
        with:
          workflow_dir: src
          exclude_patterns: '*.pyc *__pycache__/*'
          custom_version: ${{ github.ref_name }}

      - name: Release
        uses: softprops/action-gh-release@v1
        with:
          files: ${{ steps.builder.outputs.workflow_file }}

Additional files

In addition to the files and folders contained in the workflow_dir some other files are also implicitily shipped within the target workflow_file. These files are searched for in the root directory and are silently ignored in case they don't exist:

  • info.plist (required)

  • icon.png

  • README, README.md

  • LICENSE

About

A GitHub Action to package Alfred workflows

https://github.com/marketplace/actions/build-an-alfred-workflow

License:MIT License


Languages

Language:Python 52.8%Language:Shell 40.8%Language:Dockerfile 6.4%