owariコマンドを実行するActionを書きました
書きました。常々CIと相性がいいんじゃないか?と思っていたんです。ということで、Actionの書き方の勉強ついでに作ってみました。
owariとは
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
です
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