Skip to content

stack CI: switch to offic. haskell images, bump to lts-22.9 (ghc 9.6.4) #4060

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Feb 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 8 additions & 22 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
defaults: &defaults
working_directory: ~/build
docker:
- image: alanz/haskell-hie-ci
resource_class: large
steps:
- checkout
Expand Down Expand Up @@ -34,33 +32,18 @@ defaults: &defaults
echo "export SKIP_CI=$SKIP_CI" >> $BASH_ENV

- run:
name: Stack upgrade
name: Build
command: |
if [[ -z "$SKIP_CI" ]]; then
stack upgrade
fi

- run:
name: Stack setup
command: |
if [[ -z "$SKIP_CI" ]]; then
stack -j4 --stack-yaml=${STACK_FILE} setup
fi

- run:
name: Build (we need the exe for tests)
# need j1, else ghc-lib-parser triggers OOM
command: |
if [[ -z "$SKIP_CI" ]]; then
stack -j4 --stack-yaml=${STACK_FILE} install --no-terminal
stack -j4 --stack-yaml=${STACK_FILE} install --system-ghc --no-terminal
fi
no_output_timeout: 30m

- run:
name: Build Testsuite without running it
command: |
if [[ -z "$SKIP_CI" ]]; then
stack -j4 --stack-yaml=${STACK_FILE} build --test --no-run-tests --no-terminal
stack -j4 --stack-yaml=${STACK_FILE} build --system-ghc --test --no-run-tests --no-terminal
fi
no_output_timeout: 30m

Expand All @@ -70,22 +53,25 @@ defaults: &defaults

- save_cache:
key: v4-stack-cache-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "resolver.txt" }}
paths: &cache_paths
paths:
- ~/.stack

version: 2
jobs:
stackage-lts21:
docker:
Copy link
Collaborator Author

@jhrcek jhrcek Feb 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switching to official haskell images.
They already have latest stack installed and setup + specific version of ghc (corresponding to image tag) preinstalled. That means no need to have separate stack upgrade and stack setup steps.
Also ghc is installed in separate location, which means smaller CI caches since we're caching ~/.stack folder (so cache is about 1GB smaller because we don't have to cache GHC installation within ~/.stack)

- image: haskell:9.4.8-slim-buster
environment:
- STACK_FILE: "stack-lts21.yaml"
<<: *defaults

stackage-nightly:
docker:
- image: haskell:9.6.4-slim-buster
environment:
- STACK_FILE: "stack.yaml"
<<: *defaults


workflows:
version: 2
multiple-ghcs:
Expand Down
2 changes: 1 addition & 1 deletion stack-lts21.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: lts-21.25 # ghc-9.4
resolver: lts-21.25 # ghc-9.4.8

packages:
- .
Expand Down
12 changes: 1 addition & 11 deletions stack.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: nightly-2023-07-10 # ghc-9.6.2
resolver: lts-22.9 # ghc-9.6.4

packages:
- .
Expand All @@ -20,25 +20,15 @@ extra-deps:
- retrie-1.2.2
- hiedb-0.5.0.1
- implicit-hie-0.1.4.0
- hie-bios-0.13.1
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing these from extra-deps, because all of these are in lts-22.9

- lsp-2.4.0.0
- lsp-test-0.17.0.0
- lsp-types-2.1.1.0
- attoparsec-aeson-2.1.0.0
- hw-fingertree-0.1.2.1
- integer-conversion-0.1.0.1
- monad-dijkstra-0.1.1.4
- hw-prim-0.6.3.2
- optparse-applicative-0.17.1.0

# stan and friends
- stan-0.1.2.0
- clay-0.14.0
- colourista-0.1.0.2
- dir-traverse-0.2.3.0
- extensions-0.1.0.1
- relude-1.2.1.0
- slist-0.2.1.0
- tomland-1.3.3.2
- trial-0.0.0.0
- trial-optparse-applicative-0.0.0.0
Expand Down