summary refs log tree commit diff stats
path: root/koch.nim
Commit message (Collapse)AuthorAgeFilesLines
* koch: use in-tree Nim to run test if possible (#15018)alaviss2020-07-201-2/+4
| | | Fixes #15013
* {.deprecated: [existsFile: fileExists].} (#14735)Timothee Cour2020-07-021-3/+3
| | | | | | | | | * {.deprecated: [existsFile: fileExists].} * s/existsFile/fileExists/ except under deps * workaround pending #14819 * fix test
* testament: generic N-fold batching: windows CI 37mn=>16m (#14823)Timothee Cour2020-06-271-1/+6
| | | | | | | | | * testament: run CI faster thanks to batching * move ta_in, tstdin into existing tosproc * move ta_out,tafalse,texitcode,tstderr into existing tosproc * joinable osproc * move tstdout into existing tosproc * spec: batchable; fix tests * fixup
* koch: add --localdocs to allow building only local docs (#14783)alaviss2020-06-251-9/+11
| | | | | | | | | | | | | | | | | | | * koch: add --localdocs to allow building only local docs This flag also make koch doc use the passed arguments when building the offline docs. This is useful when generating nightlies as we would want to use --doccmd:skip and also skipping a pass of docgen speed things up drastically (for non-native targets). This flag superseded the undocumented --docslocal. * kochdocs: filter google analytics code from the arg list instead This commit introduce a small PEG expression to filter out the google analytics code before building local docs when --localdocs is not specified. This lets us keep any arguments unrelated to google analytics when building local docs, useful for use with --doccmd:skip
* walkDirRecFilter, update doc CI filter, compiler/index.nim for docs + ↵Timothee Cour2020-06-011-0/+7
| | | | | | | | | | | various other fixes (#14501) * update doc CI filter to include the files mostly likely to require doc rebuild * remove code duplication in ./config/nimdoc.cfg; show link to compiler docs, various fixes * walkDirRecFilter, factor nativeToUnixPath workaround * glob for getRst2html * docslocal: 40s to build all docs * revert code dedup in github actions which did not work alas... * fixups
* fixes #14126 [backport:1.2] (#14390)Andreas Rumpf2020-05-201-1/+1
| | | | | * fixes #14126 [backport:1.2] * used more logic to optimize it further; updated Nimble version
* trunner was not actually being tested in non-CTFFI mode; minor testament ↵Timothee Cour2020-05-191-1/+1
| | | | | | | | | | cleanups (#14377) * use check * trunner now works with cpp * cleanup: move compiler/unittest_light => stdtest/unittest_light * fix tests/readme.md * remove deadcode references to rodfiles * fix for windows
* properly fixes #13758 so that `import std/macros` stays legal (#14291)Timothee Cour2020-05-121-3/+9
| | | | | * properly fix https://github.com/nim-lang/Nim/issues/12389 * use --lib:lib in koch.nim.cfg instead * third time is the charm
* Split testing important packages into two jobs (#14256)Miran2020-05-071-2/+4
| | | | | * split testing packages in two separate jobs * speed-up the slowest tests * special treatment for two packages
* fix regression: -d:nimHasLibFFI was not being tested anymore (#14234)Timothee Cour2020-05-061-3/+6
| | | | | | | | * * fix regression: -d:nimHasLibFFI was not being tested anymore, in part because testament was silently treating some errors as easy to overlook messages * turned that message into an error * -d:nimHasLibFFI is now being tested with nim cpp * use correct signatures for importc procs * workaround for openbsd to unblock ctffi testing
* Undefine `paramCount` & `paramStr` in nimscript.nim for *.nims (#12860)Neelesh Chandola2020-04-271-1/+1
| | | | | | | * Remove `paramStr` and `paramCount` from implicitly imported nimscript.nim * Update changelog.md * Update stable nimble commit hash Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* move tinyc to a separate repo and allow installing external dependencency ↵Timothee Cour2020-04-031-8/+19
| | | | | | | (eg tinyc) from koch / library code (#13850) * remove tinyc * installDeps * update tinyc paths
* DrNim (Nim compiler with Z3 integration) (#13743)Andreas Rumpf2020-03-311-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | * code cleanups and feature additions * added basic test and koch/CI integration * make it build on Unix * DrNim: now buildable on Unix, only takes 10 minutes, enjoy * added basic documentation for DrNim which can also be seen as the RFC we're following * drnim: change the build setup so that drnim.exe ends up in bin/ * makes simple floating point ranges work * added basic float range check * drnim: teach Z3 about Nim's range types plus code refactoring * drnim: make unsigned numbers work * added and fixed index checking under setLen * first implementation of .ensures, .invariant and .assume (.requires still missing and so is proc type compatibility checking * drnim: .requires checking implemented * drnim: implemented .ensures properly * more impressive test involving min() * drnim: check for proc type compatibility and base method compatibility wrt .requires and .ensures * testament: support for 'pattern <directory> * koch: uses new <directory> feature of testament * drnim: added tiny musings about 'old' * Make testament work with old SSL versions * koch: add support for 'koch drnim -d:release' * drnim: preparations for the param.old notation
* faster CIs (#13803)Miran2020-03-301-15/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ttables: smaller table, 5x speedup * thavlak: less iterations, less loops; 30% speedup * tasyncclosestall: shorter timeout; 35% speedup * gcleak4: less iterations, 2x speedup * ttimes: remove deprecated stuff * tdangerisrelease: remove cpp backend, 3x speedup * tfrexp1: smaller range, 2x speedup * trtree: fix warnings, less iterations, 6x speedup * tasyncawait_cyclebreaker: smaller swarm size; 2x speedup * trealloc: smaller number of iterations; 10x speedup * towned_binary_tree: less iterations, 4x speedup * tclosure: remove unused code, less iterations; 2x speedup * twaitany: less durations; 1.4x speedup * tasync_misc: less iterations, 2x speedup * t8535: smaller sleep, 1.5x speedup * tmanyjoin: smaller sleep, 2x speedup * t12221: shorter sleeps, removed two slower tests; 1.6x speedup * tfuturestream: smaller sleep; 1.5x speedup * growobjcrash: less iterations; 2x speedup * ttryrecv: smaller sleep; 1.5x speedup * treusetvar: less threads; 2x speedup * delete tthreadanalysis2, basically a duplicate of tthreadanalysis * t7758: less iterations, 1.5x speedup * tasyncawait: smaller swarm, less messages; 1.5x speedup * tjsandnativeasync: smaller sleep, 1.5x speedup * tpendingcheck: smaller sleep, 1.5x speedup * remove rodfiles test category * move tseq from its own category to 'collections' category * remove unneeded tests and helpers from 'assert' category * stdlib: merge tbitops2 into tbitops * remove 'trepr2' from 'stdlib' cat * merge 'tstreams' into one file * remove 'tinefficient_const_table' from 'ccbugs' cat * merge 'tcollections_to_string' into 'tcollections' * tblocking_channel: smaller sleep, small speedup * tconvexhull: less iterartions; 1.2x speedup * merge 'tdeepcopy2' into 'tdeepcopy' * merge 'tdisjoint_slice2' into 'tdisjoint_slice1' * tmissing_deepcopy: smaller sequence * tsendtwice: smaller arrays; 5x speedup * remove 'tindexerrorformatbounds' * disable multimethod tests * remove 'gc:none' and 'refc' without 'd:useRealtimeGC' from gc tests * koch.nim: bootstrap just with '-d:release', no need for 'csource' * add github workflow for documentation * testament: no need for 8 sub-second decimals
* Attempt to finish off araq cpp exceptions (#13695)cooldome2020-03-191-1/+5
| | | | | | | | | | | | | | | * config update * disable a questionable test * remove c++ exception handling IDs, new impl doesn't require it anymore * C++ based exceptions finally work * fixes bootstrapping problem in C++ mode * teach GCC it's 2020 now * more bugfixes for C++ based exception handling * apply cooldome's patch * another attempt to enable C++11 * bug fix Co-authored-by: Araq <rumpf_a@web.de> Co-authored-by: cooldome <ariabushenko@bk.ru>
* catchable defects (#13626)Andreas Rumpf2020-03-121-1/+1
| | | | | | | | | | * allow defects to be caught even for --exceptions:goto (WIP) * implemented the new --panics:on|off switch; refs https://github.com/nim-lang/RFCs/issues/180 * new implementation for integer overflow checking * produce a warning if a user-defined exception type inherits from Exception directly * applied Timothee's suggestions; improved the documentation and replace the term 'checked runtime check' by 'panic' * fixes #13627 * don't inherit from Exception directly
* Change order of forwarded koch boot command line options, so as to be able ↵Clyybber2020-03-121-4/+4
| | | | to overwrite the nimcache location (#13637)
* `koch --nim:pathto/nim boot` and `koch boot --hint:cc:off` now work (#13516)Timothee Cour2020-03-111-6/+3
| | | | | * `koch boot --hint:cc:off` now works * `koch --nim:pathto/nim boot` now works; code cleanup
* runCI: logs now show CPU/OS/etc info to be self contained (#13486)Timothee Cour2020-02-261-0/+5
|
* only enable linenoise for -d:nimUseLinenoise (#13478)Timothee Cour2020-02-241-2/+2
| | | | | | * only enable linenoise for -d:nimUseLinenoise * fixup
* miscellaneous bug fixes (part 3) (#13304)Timothee Cour2020-02-071-3/+3
| | | | | | | | | | * fix deprecation; fix indentation * git clone: use -q * fix Warning: pragma before generic parameter list is deprecated; fix typo * bugfix: sysTypeFromName("float64") was never cached
* enable testing -d:nimHasLibFFI mode (#13091)Timothee Cour2020-02-041-4/+7
|
* koch: enable checks in the compiler when running CI (#13323)alaviss2020-02-041-1/+1
|
* Quote nim executable before executing. (#13316) [backport]Fredrik Høisæther Rasch2020-02-021-3/+3
| | | | | In case nim executable is located in PATH containing spaces. fixes #13311
* fixes #12998 nim doc regression (#13117)Timothee Cour2020-01-161-1/+3
|
* fixes a koch regression that made 'koch boot --listcmd' not work anymore ↵Andreas Rumpf2019-10-101-2/+2
| | | | [backport] (#12400)
* [backport] bundle nimpretty on Windows (#12358)Miran2019-10-041-2/+6
|
* update the Nimble version we ship with Nim (#12236)Andreas Rumpf2019-09-231-1/+1
|
* make testament a tool we ship with Nim; fixes #12084 (#12088)Andreas Rumpf2019-08-301-5/+8
| | | | | | * make testament a tool we ship with Nim; fixes #12084 * moved config to fit * adapt testament tests to use the testament binary
* Incremental compilation (IC): Improvements (#11881)Andreas Rumpf2019-08-081-1/+1
| | | | | | | | | | | | | | | | | | | * IC: C codegen is aware of IC * manual: minor change to make VSCode's RST plugin render it properly * IC: minor refactoring * testament: code refactorings * rodutils: removed dead code * IC: always build the compiler with the IC feature * IC: C codegen improvements * IC: implement the undocumented -d:nimMustCache option for testing purposes * IC: added first basic tests * IC: extensive testing of the deserialization feature * testament: refactoring; better IC tests * IC: removes 'nimMustCache' flag; readonly does the same * testament: minor refactoring * update Nimble version * testament: removed dead code and imports; IC: added simple test * IC: progress
* koch/nim: completion of the 'better run' featureAraq2019-07-121-2/+4
|
* koch temp bugfixAraq2019-07-121-3/+2
|
* better run [feature] (#11709)Andreas Rumpf2019-07-111-1/+7
| | | | | | | * track the checksums of all involved Nim files for smarter 'nim c -r' recompiles * don't recompile unless necessary for 'nim c -r' [feature] * [feature] koch boot uses a two step process in order to free the RAM before the GCC/Clang invocations * fixes a serious regression
* minor style changesAraq2019-07-101-1/+1
|
* koch temp: use -d:leanCompiler if possibleAraq2019-07-101-1/+3
|
* Pass additional koch options to the nim compiler (#11615)Ivan Bobev2019-06-281-36/+44
| | | | | | | | | | | | | | | | | | | | | | | | | Add possibility when "koch tools" command is used, nim compiler options to be passed. The current options are kept and the new user specified options will be added to the end of the command line if present. Example: > koch --latest tools -d:danger --debugInfo --lineDir:on bin\nim.exe c -o:bin\nimsuggest.exe -d:release -d:danger -d:danger --debugInfo --lineDir:on nimsuggest/nimsuggest.nim ... bin\nim.exe c -o:bin\nimgrep.exe -d:release -d:danger --debugInfo --lineDir:on tools/nimgrep.nim ... bin\nim.exe c -o:bin\vccexe.exe -d:danger --debugInfo --lineDir:on tools/vccexe/vccexe.nim ... bin\nim.exe c -o:bin\nimpretty.exe -d:release -d:danger --debugInfo --lineDir:on nimpretty/nimpretty.nim ... bin\nim.exe c -o:bin\nimfind.exe -d:release -d:danger --debugInfo --lineDir:on tools/nimfind.nim ... bin\nim.exe c -o:bin\nimble.exe --noNimblePath --nilseqs:on -d:release -d:danger --debugInfo --lineDir:on dist\nimble\src\nimble.nim
* Ensure that koch-built nim exe has +x perm for u/g/others [bugfix] (#11444)Kaushal Modi2019-06-101-1/+1
| | | Fixes https://github.com/nim-lang/Nim/issues/11427.
* koch.nim: hotfix for nightly buildsAndreas Rumpf2019-06-061-21/+12
|
* koch now ignores the existance of .git and always builds the latest tagged ↵Araq2019-06-051-9/+4
| | | | stable release of Nimble unless you use the --latest switch; fixes #11402; fixes #9017
* refs #11402; now koch ships a fixed version of Nimble so that the connection ↵Araq2019-06-051-2/+3
| | | | between Nim and Nimble version is obvious when you do 'git checkout v0.20' in Nim's repo
* make fullpaths the default in error messages and stack traces for mor… ↵Andreas Rumpf2019-06-051-3/+3
| | | | | | | | | | | | (#11385) * make fullpaths the default in error messages and stack traces for more convenient development * split up -d:release into -d:release and -d:danger flags * workaround a Nim config parser bug * fixes an old nim config parser bug * make megatest green again * make nimpretty tests work again * make nimsuggest green
* travis: cleanup & add 32-bit Linux testing (#11337)alaviss2019-05-301-1/+1
|
* koch.nim: nothing to do hereAraq2019-05-061-1/+0
|
* testament: catch failing nimble tests (#10832)Miran2019-03-131-1/+1
| | | | | * testament: catch failing nimble tests and clean up a bit * fix name collision
* disable compile-time FFI supportAndreas Rumpf2019-02-231-3/+1
|
* FFI at CT (#10150)Timothee Cour2019-02-231-0/+7
| | | | | | * enable FFI at CT * rename useFFI=>nimHasLibFFI; improve formatting rawExecute traceCode * disable libffi on windows (works for win32, not yet win64)
* koch.nim: indentation uses 2 spacesAraq2019-02-201-5/+5
|
* fixes #10659 `koch boot` fails on windows (#10660)Timothee Cour2019-02-181-3/+5
|
* 32 bit fixes (#10608)Arne Döring2019-02-121-2/+1
|
* attempt to make nightlies work againAndreas Rumpf2019-02-111-1/+1
|