たいちょーの雑記

ぼくが3日に一度くらい雑記をかくところ

owariコマンドを実行するActionを書きました

書きました。常々CIと相性がいいんじゃないか?と思っていたんです。ということで、Actionの書き方の勉強ついでに作ってみました。

github.com

owariとは

github.com

owariは終焉にまつわるアスキーアートを出力するだけのジョークコマンドです。このブログでも何度か書いていますね。

xztaityozx.hatenablog.com xztaityozx.hatenablog.com

何かが終わったときに表示されそうなAAを出力するので、処理の長いコマンドの後に && owari とつけ足しておくと、なんだか楽しい気分になります。

その他には記事の最後とか、スライドの最後とかに使われていたりしますね。

CI/CDでもowari

CIというのはそれなりに時間のかかるものです。素早く処理させるために、キャッシュしたり、ワークフローを見直したりなど皆さん頑張っていることと思います。 owari-actionはそのお手伝いができます。

いえ、実行時間を短縮するような仕組みは一切持っていません(むしろ伸びます)。ただ、なんだか楽しい気分にしてくれます。なんだか楽しい気分にしてくれるので、実行時間が長くてもまぁいいか!となるわけですね。

使い方

いつものようにyamlに書くだけです。

name: example

on: [push]

jobs:
  example:
    runs-on: ubuntu-latest
    steps:
      - name: default
        uses: xztaityozx/owari-action@v1.0.0

      - name: owari kanban
        uses: xztaityozx/owari-action@v1.0.0
        with:
          args: 'kanban -a xztaityozx owari-action'

      - name: as job summary
        uses: xztaityozx/owari-action@v1.0.0
        with:
          as-summary: true

      - uses: xztaityozx/owari-action@v1.0.0
        with:
          args: 'kanban -a xztaityozx "これは スペースが 含まれている 文字列"'

実行結果はこんな感じです。

inputs.as-summary

trueにしておくと、workflowの詳細ページに以下のような感じのサマリーを吐き出してくれます。デフォルト値は false です

owari-as-summary

inputs.args

owariコマンドへの引数です。デフォルト値は default -a ${{github.repository}} です

outputs.content

owariコマンドの出力を outputs.content に格納しているので、owari-actionの後のstepとかでも使えます

jobs:
  example:
    runs-on: ubuntu-latest
    steps:
      - name: default
        id: owari
        uses: xztaityozx/owari-action@v1.0.0

      - run: echo ${{steps.owari.outputs.content}}

仕組み

Dockerコンテナのアクションを作るチュートリアルに従って作りました。owariのバイナリをダウンロードして引数をよしなに渡すってだけです。

簡単に作れたので良かったんですが、DockerコンテナのアクションはLinuxオペレーティングシステムじゃないとダメということなので、JSでやればよかったなって感じです。気が向いたらなおします。あと、やっぱりフォント問題でずれてるので難しいねって思います。

おわり

なんだか楽しい気分になるだけですが、よければ使ってみてください。


          糸冬
-------------------------
  制作・著作 xztaityozx