okuzawatsの日記

Android / Kotlin Enthusiast 🤖

はじめてのGitHub Actions

GitHub Actions の Action を作っていこうと思います。まずは、「Hey, Yo!」と出力するだけの簡単な Action にしておきましょう。Action にもいくつかの種類があるようですが、今回は Docker コンテナを用いた Action を作ります。

まずは Action の設定ファイルを作成します。 このファイルは action.yml という名前でプロジェクトのルートに作成しました。

name: "Hey Yo Action"
description: "Everybody Say Hey, Yo!"
author: "okuzawats"
branding:
  icon: "thumbs-up"
  color: "yellow"
runs:
  using: "docker"
  image: "Dockerfile"

次に Dockerfile を作ります。エントリーポイントとなる shell script を呼び出しています。

FROM alpine:3.10

COPY entrypoint.sh /entrypoint.sh

ENTRYPOINT ["/entrypoint.sh"]

上述の entrypoint.sh の中身はこんな感じです。“Hey, Yo!“と出力するだけの特にどうということはない script です。

#!/bin/sh

echo "Hey, Yo!"

このままだと entrypoint.sh の実行権限がないため、 entrypoint.sh を実行できません。以下のコマンドで実行権限を与えます。

$ chmod +x entrypoint.sh

これだけで Action は作成完了ですので、早速試しに動かしてみます。 v0.3 という名前でタグとリリースが作成済みです。GitHub Actions のワークフローを以下のように作成しました。

name: yo
on: [pull_request]
jobs:
  yo:
    name: runner / yo
    runs-on: ubuntu-latest
    steps:
      - uses: okuzawats/hey-yo-action@v0.3

GitHub Actions を実行すると、「Hey, Yo!」が出力されました。

Hey, Yo!

自作の Action を動かすだけならそれほど難しくないことがわかりました。

作成した Action はこちらのリポジトリに公開しています。

Reference

  1. Docker コンテナのアクションを作成する - GitHub Docs, retrieved from https://docs.github.com/ja/actions/creating-actions/creating-a-docker-container-action) (last acccess: 2022/07/03)

#GitHub Actions

書いている人 😎

profile

茨城県つくば市在住のソフトウェアエンジニア。柏の葉キャンパスと新潟にオフィスのある某社にて、Androidアプリ開発のテックリードをしています。モバイルアプリのアーキテクチャ、自動テスト、技術書の執筆に興味があります。

Jetpack ComposeによるAndroid MVVMアーキテクチャ入門の著者です。

👉 もっと詳しく

Android MVVMアーキテクチャ入門 📝

Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書を書きました。初学者の方を確実にネクストレベルに引き上げる技術書です。

See Also 👀