--- 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: gcc 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 .. - 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: # Note we first make sure that fosgen is working - bin/fosgen -d tests/emit_sum.fos - 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: - ls -als tests/extracted - opam init - eval $(opam env) - bin/run_tests ocaml ml volumes: - name: lib temp: {} - name: m2 temp: {}