Cleanup of counter agent translation logic #147
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: [push] | |
jobs: | |
install-ubuntu: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
ocaml-compiler: | |
- 4.13.x | |
- 4.14.x | |
additional-packages: | |
- | |
- labltk | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup OCaml | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install --yes gnuplot-nox \ | |
poppler-utils graphviz texlive-latex-recommended \ | |
texlive-fonts-recommended texlive-pictures tex4ht \ | |
texlive-latex-extra | |
opam depext --install --yes dune num yojson lwt fmt logs re \ | |
odoc lwt_react tyxml-ppx js_of_ocaml-lwt \ | |
js_of_ocaml-tyxml camlp-streams ${{ matrix.additional-packages }} | |
- name: Make Kappa | |
run: opam exec -- make all | |
- name: Make documentation | |
run: opam exec -- make doc_html | |
- name: Make check | |
run: opam exec -- make --jobs=2 check | |
- name: Archive documentation | |
uses: actions/upload-artifact@v3 | |
if: matrix.ocaml-compiler == '4.14.x' && matrix.additional-packages == '' | |
with: | |
name: doc | |
path: | | |
man | |
_build/default/_doc/_html/kappa-library | |
python: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup OCaml | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: 4.13.x | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install --yes gnuplot-nox \ | |
poppler-utils graphviz texlive-latex-recommended \ | |
texlive-fonts-recommended texlive-pictures tex4ht | |
opam install --yes dune num yojson result lwt fmt logs re \ | |
cohttp-lwt-unix atdgen | |
pip install nose | |
- name: Make Kappa | |
run: | | |
opam exec -- make all | |
opam exec -- dune build | |
- name: Uninstall nose | |
run: opam exec -- pip uninstall -y nose | |
- name: Reinstall nose | |
run: "opam exec -- pip install nose-py3" | |
- name: Nose tests | |
run: opam exec -- nosetests -v tests/kappy | |
js: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup OCaml | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: 4.13.x | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install --yes gnuplot-nox \ | |
poppler-utils graphviz texlive-latex-recommended \ | |
texlive-fonts-recommended texlive-pictures tex4ht | |
- name: Install OPAM dependencies | |
run: | | |
opam install --yes dune num yojson result lwt fmt logs re \ | |
lwt_react tyxml-ppx js_of_ocaml-lwt \ | |
js_of_ocaml-tyxml atdgen result | |
- name: Make Kappa | |
run: opam exec -- make all | |
- name: Make Javascript app | |
run: opam exec -- make Kappapp.tar.gz site/index.html | |
- name: Archive Javascript app | |
uses: actions/upload-artifact@v3 | |
with: | |
name: js | |
path: | | |
site | |
viz | |
Kappapp.tar.gz | |
macos: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup OCaml | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: 4.13.x | |
- name: Install OPAM dependencies | |
run: | | |
opam install --yes dune num yojson result lwt fmt logs re \ | |
lwt_react tyxml-ppx js_of_ocaml-lwt \ | |
js_of_ocaml-tyxml atdgen result | |
- name: Make Kappa | |
run: opam exec -- make all | |
- name: Make MacOS app | |
run: opam exec -- make Kappapp.app | |
- name: Sign MacOS binaries | |
run: | | |
find Kappapp.app/Contents/ \( -name \*.app -or -name \*.framework \) \ | |
-exec codesign --deep -s - \{\} \; | |
codesign -s - Kappapp.app | |
zip -y -r Kappapp.app.zip Kappapp.app | |
- name: Archive MacOS app | |
uses: actions/upload-artifact@v3 | |
with: | |
name: macos | |
path: | | |
site | |
viz | |
Kappapp.app.zip | |
windows: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup OCaml | |
uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: 4.13.x | |
- name: Install OPAM dependencies | |
run: > | |
opam install --yes dune num yojson result lwt fmt logs re | |
lwt_react tyxml-ppx js_of_ocaml-lwt | |
js_of_ocaml-tyxml atdgen result | |
- name: Make Kappa | |
run: opam exec -- make all | |
- name: Make Windows app | |
run: | | |
opam exec -- make KappaBin | |
7z a -tzip KappaBin.zip KappaBin | |
# Note: Windows VMs on GitHub Action do not have zip command but provide 7z | |
- name: Archive Windows app | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows | |
path: | | |
KappaBin.zip | |
deploy-docs: | |
needs: install-ubuntu | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/master' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Download doc artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: doc | |
- name: Install SSH Key | |
uses: shimataro/ssh-key-action@v2 | |
with: | |
key: ${{ secrets.DEPLOY_KEY }} | |
known_hosts: api.kappalanguage.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJooIEJd6sgRL5JUKGqh9zB3Xla1MchqR8IWl7Nh9ahm9Ji6IwV9QSKG9YQEIHdJWxBk4UzbfRWGkDK9q1GggyM= | |
- run: dev/update-web.sh native | |
deploy-js: | |
needs: js | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/master' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Download js artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: js | |
- name: Install SSH Key | |
uses: shimataro/ssh-key-action@v2 | |
with: | |
key: ${{ secrets.DEPLOY_KEY }} | |
known_hosts: api.kappalanguage.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJooIEJd6sgRL5JUKGqh9zB3Xla1MchqR8IWl7Nh9ahm9Ji6IwV9QSKG9YQEIHdJWxBk4UzbfRWGkDK9q1GggyM= | |
- run: dev/update-web.sh js | |
deploy-macos: | |
needs: macos | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/master' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Download MacOS artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: macos | |
- name: Install SSH Key | |
uses: shimataro/ssh-key-action@v2 | |
with: | |
key: ${{ secrets.DEPLOY_KEY }} | |
known_hosts: api.kappalanguage.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJooIEJd6sgRL5JUKGqh9zB3Xla1MchqR8IWl7Nh9ahm9Ji6IwV9QSKG9YQEIHdJWxBk4UzbfRWGkDK9q1GggyM= | |
- run: dev/update-web.sh MacOS | |
deploy-windows: | |
needs: windows | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/master' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Download Windows artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: windows | |
- name: Install SSH Key | |
uses: shimataro/ssh-key-action@v2 | |
with: | |
key: ${{ secrets.DEPLOY_KEY }} | |
known_hosts: api.kappalanguage.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJooIEJd6sgRL5JUKGqh9zB3Xla1MchqR8IWl7Nh9ahm9Ji6IwV9QSKG9YQEIHdJWxBk4UzbfRWGkDK9q1GggyM= | |
- run: dev/update-web.sh windows |