1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-19 17:47:53 +03:00
mal/.github/workflows/main.yml
2021-04-17 17:48:13 -05:00

145 lines
4.5 KiB
YAML

name: Build and Test
on: [push]
jobs:
linux:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
IMPL:
- IMPL=ada
- IMPL=ada.2
- IMPL=awk
- IMPL=bash NO_SELF_HOST=1
- IMPL=basic basic_MODE=cbm NO_SELF_HOST=1
- IMPL=basic basic_MODE=qbasic NO_SELF_HOST=1
- IMPL=bbc-basic
- IMPL=c
- IMPL=cpp
- IMPL=coffee
- IMPL=cs
- IMPL=chuck NO_SELF_HOST_PERF=1
- IMPL=clojure clojure_MODE=clj
- IMPL=clojure clojure_MODE=cljs
- IMPL=common-lisp
- IMPL=crystal
- IMPL=d d_MODE=gdc
- IMPL=d d_MODE=ldc2
- IMPL=d d_MODE=dmd
- IMPL=dart
- IMPL=elisp
- IMPL=elixir
- IMPL=elm
- IMPL=erlang NO_SELF_HOST=1
- IMPL=es6
- IMPL=factor
- IMPL=fantom
- IMPL=forth
- IMPL=fsharp
- IMPL=go
- IMPL=groovy
- IMPL=gnu-smalltalk
- IMPL=guile
- IMPL=haskell
- IMPL=haxe haxe_MODE=neko
- IMPL=haxe haxe_MODE=python
- IMPL=haxe haxe_MODE=cpp
- IMPL=haxe haxe_MODE=js
- IMPL=hy
- IMPL=io NO_SELF_HOST_PERF=1
- IMPL=java
- IMPL=jq
- IMPL=js
- IMPL=julia
- IMPL=kotlin
- IMPL=livescript
- IMPL=logo NO_SELF_HOST=1
- IMPL=lua
- IMPL=make NO_SELF_HOST=1
- IMPL=mal MAL_IMPL=js BUILD_IMPL=js NO_SELF_HOST=1
- IMPL=mal MAL_IMPL=js-mal BUILD_IMPL=js NO_SELF_HOST=1 NO_PERF=1
- IMPL=mal MAL_IMPL=nim BUILD_IMPL=nim NO_SELF_HOST=1
- IMPL=mal MAL_IMPL=nim-mal BUILD_IMPL=nim NO_SELF_HOST=1 NO_PERF=1
- IMPL=matlab NO_SELF_HOST_PERF=1
- IMPL=miniMAL NO_SELF_HOST_PERF=1
- IMPL=nasm NO_SELF_HOST_PERF=1
- IMPL=nim
- IMPL=objpascal
# IMPL=objc NO_DOCKER=1 os: osx osx_image: xcode7}
- IMPL=objc
- IMPL=ocaml
- IMPL=perl
- IMPL=perl6
- IMPL=php
- IMPL=picolisp
- IMPL=pike
- IMPL=plpgsql NO_SELF_HOST=1
# - IMPL=plsql
- IMPL=ps
- IMPL=powershell NO_SELF_HOST_PERF=1
- IMPL=python python_MODE=python2
- IMPL=python python_MODE=python3
- IMPL=python.2
- IMPL=r
- IMPL=racket
- IMPL=rexx
- IMPL=rpython
- IMPL=ruby
- IMPL=rust
- IMPL=scala
- IMPL=scheme scheme_MODE=chibi
- IMPL=scheme scheme_MODE=kawa
- IMPL=scheme scheme_MODE=gauche
- IMPL=scheme scheme_MODE=chicken
- IMPL=scheme scheme_MODE=sagittarius
- IMPL=scheme scheme_MODE=cyclone
# - IMPL=scheme scheme_MODE=foment
- IMPL=skew
- IMPL=tcl
- IMPL=ts
- IMPL=vala
- IMPL=vb
- IMPL=vhdl NO_SELF_HOST_PERF=1
- IMPL=vimscript
- IMPL=wasm wasm_MODE=wasmtime NO_SELF_HOST_PERF=1 NO_PERF=1
- IMPL=wasm wasm_MODE=wasmer NO_SELF_HOST_PERF=1 NO_PERF=1
- IMPL=wasm wasm_MODE=lucet NO_SELF_HOST_PERF=1 NO_PERF=1
- IMPL=wasm wasm_MODE=wax NO_SELF_HOST_PERF=1
- IMPL=wasm wasm_MODE=node NO_SELF_HOST_PERF=1 NO_PERF=1
- IMPL=wasm wasm_MODE=warpy NO_SELF_HOST_PERF=1
- IMPL=wasm wasm_MODE=wace_libc NO_SELF_HOST_PERF=1
- IMPL=wren
- IMPL=xslt
- IMPL=yorick
- IMPL=zig
steps:
- uses: actions/checkout@v1
- name: IMPL testing
run: |
export ${{ matrix.IMPL }}
./.travis_test.sh build ${IMPL}
./.travis_test.sh test ${IMPL}
STEP=stepA REGRESS=1 HARD=1 OPTIONAL=0 ./.travis_test.sh test ${IMPL}
./.travis_test.sh perf ${IMPL}
macos:
runs-on: macos-10.15
strategy:
fail-fast: false
matrix:
IMPL:
# - IMPL=swift NO_DOCKER=1
# - IMPL=swift3 NO_DOCKER=1
# - IMPL=swift4 NO_DOCKER=1
- IMPL=swift5 NO_DOCKER=1
steps:
- uses: actions/checkout@v1
- name: IMPL testing
run: |
export ${{ matrix.IMPL }}
./.travis_test.sh build ${IMPL}
./.travis_test.sh test ${IMPL}
STEP=stepA REGRESS=1 HARD=1 OPTIONAL=0 ./.travis_test.sh test ${IMPL}
./.travis_test.sh perf ${IMPL}