From 651a892c50f3528fabe5659add0f4be5017f717c Mon Sep 17 00:00:00 2001 From: Rory Abraham Date: Mon, 8 Aug 2022 11:58:10 -0700 Subject: [PATCH 1/2] Add documentation for composite actions --- .github/workflows/README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index fc63d53267d4..931291c10c0e 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -80,7 +80,11 @@ The GitHub workflows require a large list of secrets to deploy, notify and test All these _workflows_ are comprised of atomic _actions_. Most of the time, we can use pre-made and independently maintained actions to create powerful workflows that meet our needs. However, when we want to do something very specific or have a more complex or robust action in mind, we can create our own _actions_. -All our actions are stored in the neighboring directory [`.github/actions`](https://github.com/Expensify/App/tree/main/.github/actions). Each action is a module comprised of three parts: +All our actions are stored in the neighboring directory [`.github/actions`](https://github.com/Expensify/App/tree/main/.github/actions). There are two kinds of actions, [composite actions](https://docs.github.com/en/actions/creating-actions/creating-a-composite-action), and [JavaScript actions](https://docs.github.com/en/actions/creating-actions/creating-a-javascript-action). + +All actions must have an "action metadata file" called `action.yml`. This describes the action, gives it a name, and defines its inputs and outputs. For composite actions, it also includes the run steps. + +JavaScript actions are modules comprised of three parts: 1. An [action metadata file](https://docs.github.com/en/free-pro-team@latest/actions/creating-actions/creating-a-javascript-action#creating-an-action-metadata-file) called `action.yml`. This describes the action, gives it a name, and defines its inputs and outputs. 1. A Node.js script, whose name matches the module. This is where you can implement the custom logic for your action. From fb19e10d7e50d0f4928608374aad1da78353dbbe Mon Sep 17 00:00:00 2001 From: Rory Abraham Date: Mon, 8 Aug 2022 12:00:04 -0700 Subject: [PATCH 2/2] Remove duplicate phrase --- .github/workflows/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 931291c10c0e..3b106a3c80f6 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -86,7 +86,7 @@ All actions must have an "action metadata file" called `action.yml`. This descri JavaScript actions are modules comprised of three parts: -1. An [action metadata file](https://docs.github.com/en/free-pro-team@latest/actions/creating-actions/creating-a-javascript-action#creating-an-action-metadata-file) called `action.yml`. This describes the action, gives it a name, and defines its inputs and outputs. +1. An [action metadata file](https://docs.github.com/en/free-pro-team@latest/actions/creating-actions/creating-a-javascript-action#creating-an-action-metadata-file) called `action.yml`. 1. A Node.js script, whose name matches the module. This is where you can implement the custom logic for your action. 1. A compiled file called index.js. This is a compiled output of the file from (2) and should _NEVER_ be directly modified.