おしながき
- 自己紹介
- JuliaFormatter.jl
- julia-format
- まとめ
JuliaFormatter.jl
Juliaのソースコードを整形してくれるパッケージ
for i = [1,2,3]
i+.5
end
を
for i in [1,2,3]
i + 0.5
end
に置き換えてくれる
4つの実行方法
- Juliaパッケージとして直接実行
using JuliaFormatter; format(".")
- エディタの機能として実行
- vscodeでは拡張機能に特定のJuliaFormatterのバージョンが紐づく
- JuliaFormatter.jlのバージョンを自由に変更できない
- pre-commitで実行
- GitHub Actionsで実行
- PRがformatを満たしているかチェック
- 定期的にformatするPRを自動発行
ところで、公式ドキュメント分かりにくくないですか?
4つの実行方法
- Juliaパッケージとして直接実行
using JuliaFormatter; format(".")
- エディタの機能として実行
- vscodeでは拡張機能に特定のJuliaFormatterのバージョンが紐づく
- JuliaFormatter.jlのバージョンを自由に変更できない
- pre-commitで実行
- GitHub Actionsで実行
- PRがformatを満たしているかチェック
- 定期的にformatするPRを自動発行
今回の話題がこれ
julia-format
julia-format:
PRがフォーマットを満たしているかチェックするaction
name: Format suggestions
on:
pull_request:
jobs:
code-style:
runs-on: ubuntu-latest
steps:
- uses: julia-actions/julia-format@v2
を.github/workflows/Format.yml
として保存するだけでOK
actionとは?
.github/workflows/*.yml
のファイルで
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.julia-version }}
arch: ${{ matrix.julia-arch }}
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
のようにuses
で指定しているやつ
username/reponame@ver
の形式
- Marketplaceにもリリースされる (例)
何を整えたのか?
全部!
- 以前のjulia-formatはactionを提供していなかった
- 以下がごちゃまぜ状態
- julia-formatを使わない設定例
- PRのフォーマットをチェック
- PRを定期的に作成してフォーマット
- julia-formatを使う例
- 複合アクションとして
action.yml
を整備しました
質問
- バージョニングって手動でするの?
- reviewdogがforkからのPRで動作しない件
- action自体のテストって何を書けば良い?
- (他のactionを参考にするべき、まだ見れてない)
まとめ
- actionを自分で作るのは意外と簡単!
- action整備したので使ってください!
julia-formatを 整えた話と質問 堀川 由人, ほりたみゅ, @Hyrodium
{"title":"JuliaTokai #17 (2023/12/10)","breaks":true,"lang":"ja","dir":"ltr","robots":"noindex, nofollow","slideOptions":"{\"theme\":\"white\",\"transition\":\"slide\"}","description":"堀川 由人, ほりたみゅ, @Hyrodium","contributors":"[{\"id\":\"41421433-16a1-4a57-ac11-6f7b7becb765\",\"add\":4205,\"del\":127}]"}