fostr/.drone.yml
Glen Whitney f789ed94fd feat: Add OCaml code generation
Also start using nailgun to speed up code generation.

  Resolves #6.
2021-02-28 22:21:56 -08:00

80 lines
1.9 KiB
YAML

---
kind: pipeline
name: examples
steps:
- name: build
image: maven
volumes:
- name: lib
path: /drone/lib
- name: m2
path: /root/.m2
commands:
- mvn -ntp verify
- cd /drone/lib
- git clone https://github.com/metaborg/spt.git
- cd spt/org.metaborg.spt.cmd
- mvn -ntp package
- name: run_spt
image: maven
volumes:
- name: lib
path: /drone/lib
- name: m2
path: /root/.m2
commands:
- cd /drone/lib/spt/org.metaborg.meta.lang.spt
- mvn -ntp verify
- cd /drone/src
- java -jar /drone/lib/spt/org.metaborg.spt.cmd/target/org.metaborg.spt.cmd* -l . -s /drone/lib/spt/org.metaborg.meta.lang.spt -t tests
- mkdir -p lib
- curl -o lib/sunshine.jar -L 'http://artifacts.metaborg.org/service/local/artifact/maven/redirect?r=snapshots&g=org.metaborg&a=org.metaborg.sunshine2&v=LATEST'
- name: setup_gen
image: maven
volumes:
- name: m2
path: /root/.m2
commands:
- git clone https://github.com/facebook/nailgun.git
- cd nailgun
- make
- cd ../bin
- ln -s ../nailgun/nailgun-client/target/ng .
- cd ..
- bin/fosgen tests/emit_sum.fos
- name: extract_tests
image: xonsh/xonsh
commands:
- xonsh bin/extract_tests.xsh
- name: generate_tests
image: maven
volumes:
- name: lib
path: /drone/lib
- name: m2
path: /root/.m2
commands:
- bin/generate_test_code
- name: python_tests
image: python:slim
commands:
- bin/run_tests python py
- name: javascript_tests
image: node
commands:
- bin/run_tests node js
- name: haskell_tests
image: haskell
commands:
- bin/run_tests runghc hs
- name: ocaml_tests
image: ocaml/opam
commands:
- bin/run_tests ocaml ml
volumes:
- name: lib
temp: {}
- name: m2
temp: {}