seL4 / seL4-CAmkES-L4v-dockerfiles

Dockerfiles defining the dependencies required to build seL4, CAmkES, and L4v.
13 stars 40 forks source link

Update Haskell toolchain in containers #45

Closed axel-h closed 2 years ago

axel-h commented 2 years ago

Follow-up from https://github.com/seL4/capdl/pull/44

Update Haskell toolchain in containers. Currently the CI job download and build the toolchain because it's missing. This make the CI jobs running for ages and look stuck, because thee is no output until this is finished

lsf37 commented 2 years ago

Have rebuilt and pushed the containers, they should now be caching the new version. Will leave this open until we can confirm this in a few successful runs.

axel-h commented 2 years ago

For sel4/camkes-vm:latest it seems to work now. A few days ago https://github.com/axel-h/camkes-tool/runs/6947987059?check_suite_focus=true was downloading and building stuff

  [326/379] Generating capDL-tool/parse-capDL
  stack build --fast
  Preparing to install GHC (tinfo6) to an isolated location.
  This will not interfere with any system-level installation.
  Preparing to download ghc-tinfo6-8.8.4 ...
  ghc-tinfo6-8.8.4: download has begun
  ghc-tinfo6-8.8.4:   41.72 MiB / 198.61 MiB ( 21.01%) downloaded...
  ...
  yaml                 > Installing library in /etc/stack/snapshots/x86_64-linux-tinfo6/72b7003234052605176f3b8bdba7090469e2889d3c472ed427cac85fb8cef2f7/8.8.4/lib/x86_64-linux-ghc-8.8.4/yaml-0.11.5.0-Er3VLfWb3kDLIaj1cBi8Ix
  ...
  yaml                 > Registering library for yaml-0.11.5.0..
  Building all executables for `capDL-tool' once. After a successful build of all of them, only specified executables will be rebuilt.
  ....
  Installing executable parse-capDL in /github/workspace/build/capDL-tool/.stack-work/install/x86_64-linux-tinfo6/72b7003234052605176f3b8bdba7090469e2889d3c472ed427cac85fb8cef2f7/8.8.4/bin

so it took 11m 37s. A recent run at https://github.com/axel-h/camkes-tool/runs/6975704922?check_suite_focus=true finishes after 4m 5s without the ghc-tinfo6-8.8.4 download:

  [249/379] Generating capDL-tool/parse-capDL
  stack build --fast
  Building all executables for `capDL-tool' once. After a successful build of all of them, only specified executables will be rebuilt.
  ...
  Installing executable parse-capDL in /github/workspace/build/capDL-tool/.stack-work/install/x86_64-linux-tinfo6/72b7003234052605176f3b8bdba7090469e2889d3c472ed427cac85fb8cef2f7/8.8.4/bin
lsf37 commented 2 years ago

Excellent. I'll close this issue then.

axel-h commented 2 years ago

reopening due to another update from https://github.com/seL4/capdl/pull/45

lsf37 commented 2 years ago

Ok, this is done. I'll see if I find some time today to automate the process -- we should check and push new containers about once a week anyway.

Also, it occurs to me that the reasoning that we want l4v and seL4 repos to be in sync wrt GHC was wrong. We do want them to be in sync, but it doesn't affect the regression tests, because l4v doesn't use the container, it uses an AWS VM (which is the thing I should update separately).