GitHub レポジトリに LaTeX コードが v1
のようなタグでプッシュされたときに、
そのコードを latexmk
でビルドして PDF を生成し、それを v1
の名前でリリースに
ぶら下げるための GitHub Actions を書きました。
.github/workflows/release.yml
に、次のように書いて push
してください。
FILENAME: main
のところには LaTeX ファイル名を記入してください。
PDF 生成をしたい場合はまず、v
から始まるタグをつけて push
します:
すると PDF 生成が始まり、成功すれば、新しく生成されたリリースに asset として ぶら下がります。
実際に動いているこの GitHub レポジトリも参考にしてください。
似たようなものはすでに大量にインターネット 上にありますが、大抵の場合、その著者が作った独自 GitHub レポジトリや独自 Docker イメージに依存しており、メンテナンスが途中で放棄されています。 そこでこの記事では、メンテナンスが継続的に行われている actions/checkout, aruneko/texlive, softprops/action-gh-release のみに依存して workflow を構築します。
何もしていないのにビルドが失敗するようになった場合、
使っているイメージの最新バージョンが壊れている可能性があります。この場合、動いていた過去のイメージの SHA256 ハッシュを直接指定することで復旧できます。
例えば、この追記を書いている現時点で aruneko/texlive
に latexmk
が含まれなくなっており、上の設定ファイルのままではビルドが失敗してしまいます。そこで container
の部分を以下に差し替えると、正しく動作します。