kowainik / stan

🕵️ Haskell STatic ANalyser
https://kowainik.github.io/projects/stan
Mozilla Public License 2.0
562 stars 48 forks source link

Documentation for CI integration #438

Open TristanCacqueray opened 3 years ago

TristanCacqueray commented 3 years ago

How would you recommend to use stan as a continuous integration test? Assuming this is correct, could we add such snippets to the README?

      - run: cabal v2-install stan --install-method=copy --overwrite-policy=always
      - run: stan report
      - uses: actions/upload-artifact@v2
        with:
          name: stan-report
          path: ./stan.html
chshersh commented 2 years ago

Hi @TristanCacqueray! Using Stan on CI easily would be really nice indeed. We attempted to implement a separate GitHub Action specifically for running Stan so users can run Stan easily on their projects. Still, it turned out that simpler Docker-based actions can't work for Stan.

Your steps look correct to me 👍🏻 It would be nice to download Stan directly from releases instead of building (so it would be faster) though CI cache probably helps with that. I'm not sure how v2-install behaves if you have a freeze file produced earlier on CI and try to build Stan, which can have a different set of dependencies. You probably also don't want to run this for each combination of GHC and OS if you use matrix.