test python without symlink #225
Workflow file for this run
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: # 2x2 versions ran here, with 2 different ocaml versions and with/without labltk | |
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 odoc camlp-streams \ | |
${{ matrix.additional-packages }} | |
opam install --yes . --deps-only --locked | |
- 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 | |
opam install --yes . --deps-only --locked | |
pip install nose | |
- name: Make Kappa | |
run: | | |
opam exec -- make all | |
opam exec -- dune build @install | |
- 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 | |
opam install --yes . --deps-only --locked | |
- name: Make Kappa | |
run: opam exec -- make all | |
- name: Make Javascript app | |
run: | | |
opam exec -- make Kappapp.tar.gz build/site/index.html | |
cp -r gui/viz . | |
mv build/Kappapp.tar.gz . | |
mv build/site . | |
- 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 | |
opam install --yes . --deps-only --locked | |
- name: Make Kappa | |
run: opam exec -- make all | |
- name: Make MacOS app | |
run: | | |
opam exec -- make Kappapp.app | |
cp -r gui/viz . | |
mv build/Kappapp.app . | |
mv build/site . | |
- 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.14.x | |
- name: Install OPAM dependencies | |
run: | | |
# install unpinned deps as those pinned in .locked are not available | |
# Note: failure with $opam install --yes . --deps-only | |
# TODO: specific library pin for windows build (few updates on windows, so low priority) | |
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 cohttp-lwt-unix | |
- name: Make Kappa | |
run: opam exec -- make all | |
- name: Make Windows app | |
run: | | |
opam exec -- make KappaBin | |
mv build/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 |