local action の実行
public action ではなく、リポジトリ内に定義したprivate なactionを実行する
ファイルは下記のような感じで配置
.github/
├── actions
│ └── hello
│ ├── action.yml
│ └── index.js
└── workflows
└── hello.yml
action の定義と script
# .github/actions/hello/action.yml
name: "Hello World"
runs:
using: "node12"
main: "index.js"
- node は node12 のみっぽい
- package.json は使えないぽい
- node_modules/ 以下も登録する必要がある ?
- https://www.kaizenprogrammer.com/entry/2019/10/15/071636#node_modules-%E3%81%AE%E7%AE%A1%E7%90%86
// .github/actions/hello/index.js
console.log("Hello, World!");
workflow の定義
# .github/workflows/hello.yml
name: Hello
on: push
jobs:
hello:
runs-on: ubuntu-latest
name: Hello
steps:
- name: Checkout
uses: actions/checkout@master
- name: run hello action
uses: ./.github/actions/hello
- checkout がないとだめ
- 下記のようなエラーが出る
- Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/home/runner/work/xxx/xxx/.github/actions/hello'. Did you forget to run actions/checkout before running your local action?