weblog

技術的なメモ置き場。

GitHub Actionsのcompositeを試す

compositeが使えるようになったので試す。

github.blog

compositeを使うとActionを再利用することができる。 現時点ではprivateリポジトリは使えない模様。

再利用するActionを作る

新しくリポジトリを作成し、action.ymlに処理したい内容を書く。

name: 'Hello World'
inputs:
  name:
    required: true
    default: 'World'
runs:
  using: "composite"
  steps:
    - run: echo Hello ${{ inputs.name }}.
      shell: bash

完成したらtagを適当につける。
これでActionを再利用することができる。

再利用するActionを呼び出す

リポジトリを用意して、作成したActionを呼び出す。通常通りusesを使うだけでOK。

on: [push]

jobs:
  hello_world_job:
    runs-on: ubuntu-latest
    name: Hello wolrd
    steps:
      - uses: actions/checkout@v2
      - uses: {owner}/{再利用用に作成したリポジトリ名}@{タグ}
        with:
          name: 'Ichiro'

privateリポジトリで試す

privateリポジトリで試したらnot foundになった。 f:id:kentama7:20200809111626p:plain

特定のファイルが更新されたときだけGitHub Actionsを実行する

pathsにファイル名を指定することで、特定のファイルが変更されたときにのみGitHub Actionsを実行することができる。 pushとPRのイベントのときのみ指定可能。

on:
  push:
    paths: 
      - '**.md'

逆にGitHub Actionsを実行させたくないときは paths-ignore を指定する。

on:
  push:
    paths-ignore: 
      - '**.md'

GitHub Actionsを手動実行する

workflow_dispatchでGitHub Actionsが手動実行できるようになったので試す。

github.blog

.github/workflows/hoge.yml とか適当に作る。

name: Manually triggered workflow
on: workflow_dispatch
    
jobs:
  hello:
    runs-on: ubuntu-latest
    steps:
    - run: |
        echo "Hello World!"

workflowを追加するとGitHubのActionsで追加したworkflow名が表示される。

f:id:kentama7:20200714211206p:plain

右上のRun workflowで実行する

f:id:kentama7:20200714211403p:plain

実行された

f:id:kentama7:20200714211619p:plain