Any ways to test a GHC build against large set of packages (including test suites)?

Sylvain Henry sylvain at haskus.fr
Thu Jul 25 16:28:50 UTC 2019


Hi,

I've never used stackage-curator but "curator 2.0" [1] seems to generate 
a stack.yaml file that can be used by Stack to build all the packages of 
the selected snapshot.

As Stack supports installing GHC bindists and Stack 2.0 even supports 
building and installing GHC from a GIT repository [2], you should just 
have to edit the generated stack.yaml file to use another compiler.

Cheers,
Sylvain

[1] https://github.com/commercialhaskell/curator
[2] 
https://docs.haskellstack.org/en/stable/yaml_configuration/#building-ghc-from-source-experimental

On 25/07/2019 11:23, Gert-Jan Bottu wrote:
> Hi,
>
> I'm trying to do something similar : I'm hacking around with GHC, and 
> would like to build a large set of packages to verify my changes. 
> Similarly to the steps described below, I've followed the scheduled 
> build in .circle/config.yml, but I can't figure out how to force it to 
> use my own (hacked upon) GHC build?
>
> More concretely, the steps I took (from the lastest .circle/config.yml):
> - Installed my local GHC to ~/ghc-head
> - Installed stackage-build-plan, stackage-curator and stackage-head 
> from git repos
> - export BUILD_PLAN=nightly-2018-10-23
> - curl 
> https://ghc-artifacts.s3.amazonaws.com/nightly/validate-x86_64-linux/latest/metadata.json 
> --output metadata.json
> - curl 
> https://raw.githubusercontent.com/fpco/stackage-nightly/master/$BUILD_PLAN.yaml 
> --output $BUILD_PLAN.yaml
> - fix-build-plan $BUILD_PLAN.yaml custom-source-urls.yaml
> - stackage-curator make-bundle --allow-newer --jobs 9 --plan-file 
> $BUILD_PLAN.yaml --docmap-file docmap-file.yaml --target $BUILD_PLAN 
> --skip-haddock --skip-hoogle --skip-benches --no-rebuild-cabal -v > 
> build.log 2>&1
>
> This manages to build Stackage and generate a report just fine, but it 
> doesn't use my ~/ghc-head GHC install. Any ideas how I can point 
> stackage-curator to a specific GHC install?
>
> Thanks
>
> Gert-Jan
>
> On 10.08.18 10:39, Ömer Sinan Ağacan wrote:
>> Hi,
>>
>> This is working great, I just generated my first report. One problem 
>> is stm-2.4
>> doesn't compile with GHC HEAD, we need stm-2.5.0.0. But that's not 
>> published on
>> Hackage yet, and latest nightly still uses stm-2.4.5.0. I wonder if 
>> there's
>> anything that can be done about this. Apparently stm blocks 82 
>> packages (I
>> don't know if that's counting transitively or just packages that are 
>> directly
>> blocked by stm). Any ideas about this?
>>
>> Ömer
>>
>> Ömer Sinan Ağacan <omeragacan at gmail.com>, 9 Ağu 2018 Per, 14:45
>> tarihinde şunu yazdı:
>>> Ah, I now realize that that command is supposed to print that 
>>> output. I'll
>>> continue following the steps and keep you updated if I get stuck again.
>>>
>>> Ömer
>>>
>>> Ömer Sinan Ağacan <omeragacan at gmail.com>, 9 Ağu 2018 Per, 13:20
>>> tarihinde şunu yazdı:
>>>> Hi Manuel,
>>>>
>>>> I'm trying stackage-head. I'm following the steps for the scheduled 
>>>> build in
>>>> .circleci/config.yml. So far steps I took:
>>>>
>>>> - Installed ghc-head (from [1]) to ~/ghc-head
>>>> - Installed stackage-build-plan, stackage-curator and stackage-head 
>>>> (with
>>>>    -fdev) from git repos, using stack.
>>>> - export BUILD_PLAN=nightly-2018-07-30 (from config.yml)
>>>> - curl 
>>>> https://ghc-artifacts.s3.amazonaws.com/nightly/validate-x86_64-linux/latest/metadata.json
>>>> --output metadata.json
>>>> - curl 
>>>> https://raw.githubusercontent.com/fpco/stackage-nightly/master/$BUILD_PLAN.yaml
>>>> --output $BUILD_PLAN.yaml
>>>>
>>>> Now I'm doing
>>>>
>>>> - ./.local/bin/stackage-head already-seen --target $BUILD_PLAN
>>>> --ghc-metadata metadata.json --outdir build-reports
>>>>
>>>> but it's failing with
>>>>
>>>>      The combination of target and commit is new to me
>>>>
>>>> Any ideas what I'm doing wrong?
>>>>
>>>> Thanks
>>>>
>>>> [1]: 
>>>> https://ghc-artifacts.s3.amazonaws.com/nightly/validate-x86_64-linux/latest/bindist.tar.xz
>>>>
>>>> Ömer
>>>>
>>>> Ömer Sinan Ağacan <omeragacan at gmail.com>, 7 Ağu 2018 Sal, 23:28
>>>> tarihinde şunu yazdı:
>>>>> Thanks for both suggestions. I'll try both and see which one works 
>>>>> better.
>>>>>
>>>>> Ömer
>>>>>
>>>>> Manuel M T Chakravarty <chak at justtesting.org>, 7 Ağu 2018 Sal, 18:15
>>>>> tarihinde şunu yazdı:
>>>>>> Hi Ömer,
>>>>>>
>>>>>> This is exactly the motivation for the Stackage HEAD works that 
>>>>>> we have pushed at Tweag I/O in the context of the GHC DevOps 
>>>>>> group. Have a look at
>>>>>>
>>>>>>    https://github.com/tweag/stackage-head
>>>>>>
>>>>>> and also the blog post from when the first version went live:
>>>>>>
>>>>>> https://www.tweag.io/posts/2018-04-17-stackage-head-is-live.html
>>>>>>
>>>>>> Cheers,
>>>>>> Manuel
>>>>>>
>>>>>>> Am 06.08.2018 um 09:40 schrieb Ömer Sinan Ağacan 
>>>>>>> <omeragacan at gmail.com>:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'd like to test some GHC builds + some compile and runtime flag 
>>>>>>> combinations
>>>>>>> against a large set of packages by building them and running 
>>>>>>> test suites. For
>>>>>>> this I need
>>>>>>>
>>>>>>> - A set of packages that are known to work with latest GHC
>>>>>>> - A way to build them and run their test suites (if I could 
>>>>>>> specify compile and
>>>>>>>   runtime flags that'd be even better)
>>>>>>>
>>>>>>> I think stackage can serve as (1) but I don't know how to do 
>>>>>>> (2). Can anyone
>>>>>>> point me to the right direction? I vaguely remember some 
>>>>>>> nix-based solution for
>>>>>>> this that was being discussed on the IRC channel, but can't 
>>>>>>> recall any details.
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Ömer
>>>>>>> _______________________________________________
>>>>>>> ghc-devs mailing list
>>>>>>> ghc-devs at haskell.org
>>>>>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>> _______________________________________________
>> ghc-devs mailing list
>> ghc-devs at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


More information about the ghc-devs mailing list