昨日は仕事でも趣味でもひたすら GitHub Actions と戦っていましたが、その成果!
ということで、 Unity なしで UnityPackage を作成できる GitHub Actions を作りました。
使い方は簡単で、こんな感じにするだけで、 UnityPackage を作れます。
name: "Automatically create a UnityPackage when releasing a new tags" on: push: categories: - v\d+\.\d+\.\d+ workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: lfs: true - uses: natsuneko-laboratory/get-meta-from-glob@next with: includes: | Assets/NatsunekoLaboratory/AnimatorControllerPostProcessing/**/*.* excludes: | Assets/NatsunekoLaboratory/AnimatorControllerPostProcessing/Plugins/*.dll output: ./MetaList - uses: natsuneko-laboratory/create-unitypackage@main with: meta: ./MetaList output: ./AnimatorControllerPostProcessing.unitypackage # あとは自由に
ポイントは 2 つで、1 つは natsuneko-laboratory/get-meta-from-glob@main
。
これは glob pattern からファイルを集めるためのもので、これを使っておけば良い感じにパッケージ対象のファイルを集められます。
プラットフォームに依存しないので、 runs-on
が windows-latest
でも Self-Hosted Runners の自前 AMI でも、特に指定方法を変えること泣く動かす事が出来ます。
これの何が嬉しいかですが、わたしは割と Visual Studio を使いたくて windows-latest
なマシンイメージを使うことが多いんですが、そうするとなれない PowerShell をこねる必要があってつらいのです。
それを比較的一般的な方法で集められるようになるので、とってもうれしい!という訳ですね。
2 つめは natsuneko-laboratory/create-unitypackage@main
で、これが UnityPackage を作っている部分です。
1 つめのステップであつめた MetaList
を渡すことでそれらを UnityPackage にしてくれます。便利。
もちろんですが、これもプラットフォームに依存しないので、上と同じく Self-Hosted Runners の自前 AMI でも動きます。
ということで、今日のメモでした。関連リポジトリは全部 MIT で公開しているので、良かったらお使いください。