1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-11 13:55:55 +03:00
Commit Graph

129 Commits

Author SHA1 Message Date
Joel Martin
021d107db7 Refactor Github Actions/Travis CI
- Dynamically generate a strategy matrix based on the list of changed
  files in this push/pull_request. If the changed files are restricted
  to implementations then only generate a matrix with those
  implementations. If the changes are to tests or other
  non-documentation files (runtest.py, IMPLS.yml, .github/*, etc) then
  run the full set. The matrix generation is done in get-ci-matrix.py.
- Split the implementation list for Github Actions out into a separate
  yaml file IMPLS.yml
- Reduce the travis file to just the OS X / XCode related builds that
  aren't supported on Github Actions.
- Rename the .travis_test.sh script to ci.sh since it is the general
  CI script used for both Travis CI and Github Actions.
2021-04-21 13:36:54 -05:00
Nicolas Boulenguez
0ee1a51777 New SWI-prolog implementation
with, in stepA_mal.mal, a new way to pass all test and break
self-hosting nevertheless.
2021-04-19 09:53:22 -05:00
AnotherTest
e8c4b5eadb add xslt to build matrix 🤦 2020-05-30 23:37:20 +04:30
AnotherTest
f93123b470 add jq to travis matrix 2020-01-10 17:52:44 +03:30
Josh Tobin
97a8edeaba zig: readme and travis 2019-12-19 23:24:54 -05:00
Oleg Montak
6aa9c258a5 swift5: dockerfile 2019-11-08 21:47:03 +03:00
Dov Murik
725d5ae073 Travis: add wren to matrix 2019-11-02 21:23:51 +02:00
Gavin Lewis
9b66de860e Enable Travis testing for python.2 2019-10-14 15:48:56 -07:00
Dov Murik
59c841cb69 travis: Add pike to the test matrix 2019-09-18 08:55:53 +03:00
Joel Martin
1e9eb423e8 wasm: add wasmer, lucet modes. Update wasmtime. 2019-08-10 17:30:56 -05:00
Joel Martin
a85482febf Skip perf for second-order self-hosted tests. 2019-07-29 18:20:11 -05:00
Joel Martin
ff4e5f1600 Fix second-order self-hosting.
The `_map?` function was introduced when transitioning the macro
property being stored in metadata to uinsg a regular map with
a special key. The `_map?` function causes issues in a few places but
the biggest issue is that it breaks the `_macro?` function for the
second order self-hosted mal instance. The `_macro?` function contains
a `(map? x)` call that returns false resulting in the `_macro?` call
returning false.  I'll push something later that fixes this and also
that activates second order self-hosted tests so we can catch this
sort of issue in the future.
2019-07-29 17:58:11 -05:00
Joel Martin
77fd710cab Regress test of deferrables. Fix dart, factor.
Add a regression run to Travis that enables hard deferrables but
omits optionals so that we can test to make sure that all the
requirements are met for self-hosting in stepA.

Cleanup up some of the soft/deferrable/optional markings.
Deferrables are what will be needed eventually to self host but aren't
needed for the immediate next steps. Optional aren't even needed for
self-hosting but are nice things to have.

Also:
- Sync dart step9 and stepA with step8. Do not eval macroexpanded
  forms in macroexpand form.
- Fix stepA of factor which was missing some fixes from step9.
- Increase test timeouts in top-level Makefile for guile and io.
2019-07-24 23:48:29 -05:00
Joel Martin
a003046c8d Travis: combine build into .travis_test.sh 2019-05-29 22:41:35 -05:00
Joel Martin
6c4cc8adb2 Various small self-host mode fixes.
- clojure (cljs): self-host arity fix. Apparently ClojureScript
  functions that have metadata attached only support arity of 20. This
  is problem during self-host because the main EVAL cond macro is 22
  items so it blows up when applied in macroexpand. So we preserve the
  origin unadorned function through to macroexpand and use it there
  instead of the adorned function/macro.
- basic: fix build when in self-host qbasic mode.
- coffee, cs, dart, elisp, hy, rexx, vb: fix self-host reader errs. Preserve
  or extract the correct error message in try*/catch* loops so that it
  works for self-host error message printing as well.
- mal: pathing issue in ./run script that affected the wasm
  implementation path permissions
- miniMAL: remove extraneous command line printing of "nil".
- ps: inc function was not actually defined.
- rust: write warning about missing .mal-history to stderr to fix
  self-host failure in step6.
- wasm: the map function was stopping on nil values; fix the list end
  check. Double the macroexpand stack so that sumdown test in stepA
  tests passes without mac stack overflow.
- yorick: read from /dev/stdin in readline builtin function.
2019-05-29 21:18:52 -05:00
Joel Martin
7864f19b1b Travis: detect special self-host-test branch.
- If the branch name is "self-host-test" then do self-hosted test.
- Fix pass through of *_MODE values during self-hosting.
- Add capability to skip of build/test/perf during self-host.
- Skip self-host for basic, io, logo, make.
- Reformat travis.yml list for better alignment
2019-05-29 21:15:00 -05:00
Ben Harris
45c103e673 bbc-basic: Travis and top-level README updates for new implementation. 2019-05-18 23:37:33 +01:00
Joel Martin
c424b18de1 d: support ldc2 and dmd modes from top-level.
Symlink dmd to /usr/bin in the dockerfile so that no PATH modification
is necessary.

Also, add a runtime modes count to the README.
2019-05-10 14:05:53 -05:00
Simon Tatham
846a226bb3 Update counters and .travis.yml. 2019-05-10 19:45:21 +01:00
Joel Martin
030f725c4a wasm: wax runtime. Use WASI preopen process.
Add wasi-sdk to Dockerfile to be able to compile C code to wasm that
uses WASI API calls.
2019-04-19 01:07:08 -05:00
Joel Martin
dad306ed73 wasm: Support/add wasmtime runtime. WASI platform. 2019-04-15 22:08:07 -05:00
Nicolas Boulenguez
0b4ab1a526 ada.2: add to .travis.yml 2019-03-10 01:25:11 +01:00
陆遥
2c1c266085 Update readme and .travis.yml to add swift 4. 2019-03-06 09:35:31 +08:00
Joel Martin
53619a6e59 wasm: Add warpy wasm_MODE.
- Update Dockerfile to install rpython and then use that build and
  install warpy (nojit).
- Support 'warpy' in wasm_MODE. Update wasm/Makefile and wasm/run to
  support the new mode.
2019-01-16 01:12:00 -06:00
Joel Martin
8914943790 wasm: enable execution with Node
Add node mode to travis alongside wace_libc.
2018-12-09 22:55:49 -06:00
Joel Martin
d72395aa8b wasm: update README. Activate in travis. 2018-12-08 18:02:56 -06:00
Joel Martin
a520ffd9a1 Travis: re-active perf for erlang.
Local testing shows that the test completes and doesn't hit OOM.
2018-07-16 19:11:26 -05:00
Joel Martin
53c3bccc43 Travis: enable mal impl for perf test. 2018-07-16 18:15:19 -05:00
Joel Martin
0777a9a762 [travis] disable foment. Still hangs in perf. 2018-07-14 13:32:35 -05:00
Joel Martin
56d9fa6036 scheme: enable foment to test if hangs are fixed 2018-07-13 17:21:00 -05:00
Vasilij Schneidermann
808c940d86 Use correct implementation names in build matrix 2018-06-22 18:24:47 +02:00
Dov Murik
80beb411e0 travis: Add fantom to build CI matrix 2018-06-03 20:14:27 +00:00
Joel Martin
2c5410e8e9
Merge pull request #310 from bendudson/master
NASM x86-64 assembly implementation
2018-01-04 11:33:58 -06:00
Ben Dudson
39b031b7b8 Adding nasm to Travis yml file
Enables testing of NASM implementation
2018-01-03 15:47:05 +00:00
Joel Martin
3ea9bb9493 Swift: try forcing Travis to xcode version 7.3 2017-12-30 13:18:34 -06:00
Dov Murik
d64619ac50 travis: Add yorick to build matrix 2017-09-22 21:27:20 +00:00
Joel Martin
ccab8f5907 Hy: add to README and travis. 2017-09-22 12:16:54 -05:00
Joel Martin
115e430d02 Basic: QBasic fixes/enabling. Recursive includes.
Enable QBasic console mode usage and fix bugs in newline handling
differences with C64 basic (cbm). To enable console mode for QBasic
programs, have basicpp.py prefix the output with the QB64 specific
console activation variables/functions.

One change to basicpp.py to make this change more straightfowards is
recursive includes so that includes can appear in more than just the
top level step files. This allows us to conditionally include the
right readline implementation. For QBasic in the special console mode
(instead of the default full-screen UI mode) we need to use the LINE
INPUT command in order to read input.
2017-09-14 23:50:15 -05:00
Vasilij Schneidermann
bcf3234d90 Disable Foment due to inexplicable hangs 2017-09-13 21:25:05 +02:00
Vasilij Schneidermann
b58ce6c42f Add seven Scheme implementations to Dockerfile 2017-09-13 09:58:18 +02:00
Joel Martin
49aa3e96ea Remove redundant Haxe travis test. 2017-09-11 18:10:24 -05:00
Joel Martin
2d76e8776c Generic <impl>_MODE setting. Add travis modes.
For implementations that support different compile/run modes, the
convention is not <impl_name>_MODE=<mode>. This is passed through to
make/docker commands. Fix Makefiles and run scripts to listen to the
respective *_MODE variables.

Enable travis builds/tests for 4 Haxe modes and 2 python modes.
2017-09-11 17:54:26 -05:00
Joel Martin
e4d2540897 [clojure] add ClojureScript mode to travis list. 2017-07-27 00:35:46 -05:00
Jos van Bakel
c9673ca1ec Merged master, resolved conflicts 2017-07-25 08:28:33 +02:00
Jos van Bakel
f38c7ffad1 Elm: fix makefile, added to readme and enable travis 2017-07-22 22:18:35 +02:00
Dov Murik
a66c64008a rexx: Add rexx to Travis CI matrix 2017-07-20 12:09:41 +00:00
Vasilij Schneidermann
1c72f6ba96 Add to test matrix 2017-07-10 21:47:05 +02:00
Jos van Bakel
0af8fd20ce Fixed Makefile, added Dockerfile and updated README. 2017-05-24 19:12:00 +02:00
vvakame
db885df9a0 address comment 2017-02-26 11:05:38 +09:00
Joel Martin
a0e89ae42a Rust, miniMAL, VHDL: misc fixes.
- Fix rust Dockerfile working dir.
- Make top-level Makefile more generic. This makes it easier to use
  the Makefile with fewer changes in miniMAL.
- Simplify vhdl build when case is fixed in stepA_mal
- Remove BUILD_IMPL=js from miniMAL travis test. Just use a docker
  image specifically made for miniMAL.
- Update TODO
2017-02-11 00:40:23 -06:00