digitalmars.D - Compile all-of-dub?
- qznc (15/15) Sep 09 2015 The Rust people have this Crater [0,1] tool, which essentially
- Rikki Cattermole (2/14) Sep 09 2015 Or use travis-ci.
- Edwin van Leeuwen (8/28) Sep 09 2015 One problem with relying on travis is that it doesn't rerun tests
- Rikki Cattermole (4/25) Sep 09 2015 You would need to update the travis configuration file for the new
- qznc (3/4) Sep 09 2015 They have that as well: http://rust-ci.org/
- Sebastiaan Koppe (4/11) Sep 09 2015 I think this is a splendid idea. Limiting to just
- Jacob Carlborg (9/21) Sep 09 2015 I think it's a great idea. This has been suggested before. The
- Jack Stouffer (4/10) Sep 09 2015 A good compromise is to whitelist libraries created by language
- qznc (13/19) Sep 09 2015 It does raise the bar for language changes. Most changes should
- ponce (5/25) Sep 09 2015 There was a thread in announce in the last 12 months that
- ZombineDev (2/3) Sep 11 2015 https://github.com/MartinNowak/project_tester
- Martin Nowak (2/6) Sep 11 2015 Right, please contribute.
- Martin Nowak (6/8) Sep 11 2015 I recently created a Jenkins project so that I can easily test many
The Rust people have this Crater [0,1] tool, which essentially builds all Rust libraries with two compiler versions and compares for regressions. Since D has a central library repository as well, it would make sense to do this broad testing as well. We don't have nightly builds (or do we?), but release candidates. Is something like this already done? For example, dfmt broke between 2.068 and 2.068.1 [2]. It is easily possible to detect regressions like this automatically. The biggest problem is probably that someone has to provide servers or pay for AWS instances. [0] https://internals.rust-lang.org/t/crater-plans/2206 [1] https://github.com/brson/taskcluster-crater [2] https://github.com/Hackerpilot/dfmt/pull/184#issuecomment-138713802
Sep 09 2015
On 09/09/15 8:26 PM, qznc wrote:The Rust people have this Crater [0,1] tool, which essentially builds all Rust libraries with two compiler versions and compares for regressions. Since D has a central library repository as well, it would make sense to do this broad testing as well. We don't have nightly builds (or do we?), but release candidates. Is something like this already done? For example, dfmt broke between 2.068 and 2.068.1 [2]. It is easily possible to detect regressions like this automatically. The biggest problem is probably that someone has to provide servers or pay for AWS instances. [0] https://internals.rust-lang.org/t/crater-plans/2206 [1] https://github.com/brson/taskcluster-crater [2] https://github.com/Hackerpilot/dfmt/pull/184#issuecomment-138713802Or use travis-ci.
Sep 09 2015
On Wednesday, 9 September 2015 at 08:56:56 UTC, Rikki Cattermole wrote:On 09/09/15 8:26 PM, qznc wrote:One problem with relying on travis is that it doesn't rerun tests for the libraries when compiler is updated. Crater seems to automatically compile/test all libraries whenever there is a compiler upgrade. Maybe it could be integrated with the autotester? https://auto-tester.puremagic.com/The Rust people have this Crater [0,1] tool, which essentially builds all Rust libraries with two compiler versions and compares for regressions. Since D has a central library repository as well, it would make sense to do this broad testing as well. We don't have nightly builds (or do we?), but release candidates. Is something like this already done? For example, dfmt broke between 2.068 and 2.068.1 [2]. It is easily possible to detect regressions like this automatically. The biggest problem is probably that someone has to provide servers or pay for AWS instances.Or use travis-ci.
Sep 09 2015
On 09/09/15 9:21 PM, Edwin van Leeuwen wrote:On Wednesday, 9 September 2015 at 08:56:56 UTC, Rikki Cattermole wrote:You would need to update the travis configuration file for the new compiler. That would trigger a new build. Where is this problem?On 09/09/15 8:26 PM, qznc wrote:One problem with relying on travis is that it doesn't rerun tests for the libraries when compiler is updated. Crater seems to automatically compile/test all libraries whenever there is a compiler upgrade. Maybe it could be integrated with the autotester? https://auto-tester.puremagic.com/The Rust people have this Crater [0,1] tool, which essentially builds all Rust libraries with two compiler versions and compares for regressions. Since D has a central library repository as well, it would make sense to do this broad testing as well. We don't have nightly builds (or do we?), but release candidates. Is something like this already done? For example, dfmt broke between 2.068 and 2.068.1 [2]. It is easily possible to detect regressions like this automatically. The biggest problem is probably that someone has to provide servers or pay for AWS instances.Or use travis-ci.
Sep 09 2015
On Wednesday, 9 September 2015 at 08:56:56 UTC, Rikki Cattermole wrote:Or use travis-ci.They have that as well: http://rust-ci.org/
Sep 09 2015
On Wednesday, 9 September 2015 at 08:26:59 UTC, qznc wrote:The Rust people have this Crater [0,1] tool, which essentially builds all Rust libraries with two compiler versions and compares for regressions. Since D has a central library repository as well, it would make sense to do this broad testing as well. We don't have nightly builds (or do we?), but release candidates. Is something like this already done?I think this is a splendid idea. Limiting to just release-candidates allows the instances to be killed in between, thus saving costs.
Sep 09 2015
On 2015-09-09 10:26, qznc wrote:The Rust people have this Crater [0,1] tool, which essentially builds all Rust libraries with two compiler versions and compares for regressions. Since D has a central library repository as well, it would make sense to do this broad testing as well. We don't have nightly builds (or do we?), but release candidates. Is something like this already done? For example, dfmt broke between 2.068 and 2.068.1 [2]. It is easily possible to detect regressions like this automatically. The biggest problem is probably that someone has to provide servers or pay for AWS instances. [0] https://internals.rust-lang.org/t/crater-plans/2206 [1] https://github.com/brson/taskcluster-crater [2] https://github.com/Hackerpilot/dfmt/pull/184#issuecomment-138713802I think it's a great idea. This has been suggested before. The objections were that: * If you do find a problem who should be responsible for figuring out if it's a regression or an intended change? * Not all packages are maintained enough to keep up with all compiler changes -- /Jacob Carlborg
Sep 09 2015
On Wednesday, 9 September 2015 at 12:02:55 UTC, Jacob Carlborg wrote:I think it's a great idea. This has been suggested before. The objections were that: * If you do find a problem who should be responsible for figuring out if it's a regression or an intended change? * Not all packages are maintained enough to keep up with all compiler changesA good compromise is to whitelist libraries created by language contributors, e.g. vibed, cerealed, dfmt, etc.
Sep 09 2015
On Wednesday, 9 September 2015 at 12:02:55 UTC, Jacob Carlborg wrote:I think it's a great idea. This has been suggested before. The objections were that: * If you do find a problem who should be responsible for figuring out if it's a regression or an intended change?It does raise the bar for language changes. Most changes should be backwards compatible. For intended changes it forces us to come up with a way to automatically detect and ideally fix it (dfix?). In an ideal world, I would imagine it like this: Tester finds a package breaks. Package is on Github, so Tester can file an issue there. Tester checks out the source from repo, runs dfix, sends pull request referencing the issue.* Not all packages are maintained enough to keep up with all compiler changesThen it would be quite interesting to know about this and provide this information at code.dlang.org, like "broken for 2.068.0 and above".
Sep 09 2015
On Wednesday, 9 September 2015 at 13:48:16 UTC, qznc wrote:On Wednesday, 9 September 2015 at 12:02:55 UTC, Jacob Carlborg wrote:There was a thread in announce in the last 12 months that announced a site (was it ddocs.org?) that had documentation for every package in the DUB registry, for each tag. I think it also reported build problems. Don't know why it went offline.I think it's a great idea. This has been suggested before. The objections were that: * If you do find a problem who should be responsible for figuring out if it's a regression or an intended change?It does raise the bar for language changes. Most changes should be backwards compatible. For intended changes it forces us to come up with a way to automatically detect and ideally fix it (dfix?). In an ideal world, I would imagine it like this: Tester finds a package breaks. Package is on Github, so Tester can file an issue there. Tester checks out the source from repo, runs dfix, sends pull request referencing the issue.* Not all packages are maintained enough to keep up with all compiler changesThen it would be quite interesting to know about this and provide this information at code.dlang.org, like "broken for 2.068.0 and above".
Sep 09 2015
On Wednesday, 9 September 2015 at 08:26:59 UTC, qznc wrote:...https://github.com/MartinNowak/project_tester
Sep 11 2015
On 09/11/2015 01:37 PM, ZombineDev wrote:On Wednesday, 9 September 2015 at 08:26:59 UTC, qznc wrote:Right, please contribute....https://github.com/MartinNowak/project_tester
Sep 11 2015
On 09/09/2015 10:26 AM, qznc wrote:The Rust people have this Crater [0,1] tool, which essentially builds all Rust libraries with two compiler versions and compares for regressions.I recently created a Jenkins project so that I can easily test many projects with a particular DPL version or against PRs. https://github.com/MartinNowak/project_tester It's still much better when the actual author of a library tests the latest beta, and beta are always available via Travis-CI.
Sep 11 2015