科学技術計算用プログラミング言語:Sci-Lispの自作(15日目):素晴らしいお手本「ClojureRS」とGitHub workflow
Sci-Lisp自作の15日目です。
ClojureRS
Sci-LispはClojureライクなシンタックスを持つので、字句解析・構文解析・評価などどうしようかなと考えていた時、素晴らしいリポジトリを見つけました。
ずばり、「ClojureRS」です。ClojureをRust上で実装しようという試みのようですね。最終更新日は2023年4月となっています。ライセンスはApache2.0であるため、このコードを参考にしつつSci-Lisp実装をして言ってよさそうです。しばらくは、ClojureRSのコードリーディングに充てることになりそうです。
GitHub workflow
変更をGitHubにpushした際に自動テスト・ビルドが走り、ステータスが見れるといいなと思っていました。cargoで作成したプロジェクトであれば、.github/workflows/rust.yml
に以下のように記述するだけで、フォーマット、テスト、ビルドのチェックをしてくれます。
name: Rust on: push: branches: [ "main" ] pull_request: branches: [ "main" ] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Format run: cargo fmt -- --check - name: Build run: cargo build --verbose - name: Run tests run: cargo test --verbose
また、トップの README.md
に以下のようなリンクを埋め込めば、よく見るステータスバッジが表示されます。
<p align="center"> <a href="https://github.com/chaploud/sci-lisp/actions/workflows/rust.yml"><img src="https://github.com/chaploud/sci-lisp/actions/workflows/rust.yml/badge.svg?branch=main" alt="rust status"/></a> </p>
詳しくは、ワークフロー状態バッジの追加 - GitHub Docs を参考にしてください。