Skip to content

`haskell-dev-tools` container and automation

License

Notifications You must be signed in to change notification settings

fossas/haskell-dev-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

haskell-dev-tools

This repo serves two purposes:

  • Creating the docker image that is used to run the linter and formatter in the CI builds for the fossas/spectrometer repo.
  • Automatically creating PRs for the image when the tools are updated.

Most of this repo is in the .github/workflows folder, but the two special items are the Dockerfile, and the script that updates it: update-dev-tools.sh.

The image that is built is scoped to this repo as well as the org, but is made publicly available, since there's no org-specific secrets or magic, and it makes docker auth easier in spectrometer's CI. On that note, the code in this repo is released warranty-free into the public domain, under The Unlicense.

The image is published as ghcr.io/fossas/haskell-dev-tools:{version}, where version is the GHC compiler version we target. See the package page for more details.

Updating the container

How to update the version of a tool in the container

Don't. This repo automatically updates tools to their latest versions, and will override ANY version change in the dockerfile.

How to add a new tool to the container

See #22 for an example PR. You can enable auto-merge on your PR, and it will automatically publish to the container registry after about 1 hour (due to long build times).

Once it's published, you can immediately use it in the CI at the fossas/fossa-cli repo.

Changelog

GHC 9.4.8

  • GHC is now version 9.4.8
  • cabal-install is now version 3.10.2.0

GHC 9.4.7

  • cabal-install is now version 3.10
  • Breaking: prune-juice has been removed. It is deprecated. Users of this image should use -Wunused-packages instead.
  • Breaking packdeps has been removed. It has not had any updates since 2021, requires building with GHC 8, and cabal now offers similar functionality.