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: Cosmopolitan production | |
on: [push, pull_request] | |
jobs: | |
test: | |
strategy: | |
matrix: | |
operating-system: [ubuntu-latest] | |
ocaml-version: ["4.14.1"] | |
runs-on: ${{ matrix.operating-system }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ocaml/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-version }} | |
# See jart/cosmopolitan#3 | |
- name: Fix binfmt and Cosmopolitan | |
run: sudo sh -c "echo ':APE:M::MZqFpD::/bin/sh:' >/proc/sys/fs/binfmt_misc/register" | |
- name: Pin & Install workflows | |
run: | | |
opam pin add -y https://github.com/dinosaure/esperanto.git | |
opam install ocamlfind opam-monorepo | |
opam repo add upstream git+https://github.com/ocaml/opam-repository.git | |
opam repo add dune-universe git+https://github.com/dune-universe/opam-overlays.git | |
opam repo add mirage-universe git+https://github.com/dune-universe/mirage-opam-overlays.git | |
- name: Compilation | |
run: | | |
env OPAMVAR_monorepo='opam-monorepo' opam monorepo lock --require-cross-compile --build-only --ocaml-version ${{ matrix.ocaml-version }} com | |
env OPAMVAR_monorepo='opam-monorepo' opam monorepo pull | |
opam exec -- dune build -x x86_64_esperanto -p bob bin/bob.exe | |
opam exec -- dune build -x aarch64_esperanto -p bob bin/bob.exe | |
opam exec -- ./link.sh | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: bob.com | |
path: bob.com |