name: 'Finite State Machine (FSM) Action' description: 'Лёгкий конечный автомат на чистом Bash без Docker' author: '4ma.su community' inputs: states: description: 'JSON с переходами (обязательно)' required: true initial: description: 'Начальное состояние' required: true event: description: 'Событие для обработки' required: true context: description: 'JSON-контекст для подстановки в действия ${{ var }}' required: false default: '{}' debug: description: 'Включить отладку' required: false default: 'false' outputs: next_state: description: 'Следующее состояние' value: ${{ steps.fsm.outputs.next_state }} executed_actions: description: 'Массив выполненных действий' value: ${{ steps.fsm.outputs.executed_actions }} runs: using: 'composite' steps: - id: fsm name: Run FSM shell: bash env: INPUT_STATES: ${{ inputs.states }} INPUT_INITIAL: ${{ inputs.initial }} INPUT_EVENT: ${{ inputs.event }} INPUT_CONTEXT: ${{ inputs.context }} INPUT_DEBUG: ${{ inputs.debug }} run: ${{ github.action_path }}/fsm.sh branding: icon: 'activity' color: 'blue'