fostr/.drone.yml

83 lines
2.0 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: 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: {}