Skip to content

CI: cabal 3.6 use & clean-up 8.10.5 builds #2443

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
Dec 7, 2021
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
9 changes: 5 additions & 4 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ jobs:
matrix:
ghc: ['8.10.7']
os: [ubuntu-latest]
cabal: ['3.6']

steps:
- uses: actions/checkout@v2
Expand All @@ -40,8 +41,8 @@ jobs:

- uses: haskell/actions/setup@v1
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: '3.2'
ghc-version : ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
enable-stack: false

- name: Cache Cabal
Expand Down Expand Up @@ -109,8 +110,8 @@ jobs:
steps:
- uses: haskell/actions/setup@v1
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: '3.2'
ghc-version : ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
enable-stack: false

- name: Download cabal home
Expand Down
13 changes: 4 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ jobs:
strategy:
fail-fast: false
matrix:
ghc: ['9.0.1', '8.10.7', '8.10.6', '8.10.5', '8.8.4', '8.8.3', '8.6.5']
ghc: ['9.0.1', '8.10.7', '8.10.6', '8.8.4', '8.8.3', '8.6.5']
os: [ubuntu-18.04, macOS-latest, windows-latest]
cabal: ['3.6']
exclude:
- os: windows-latest
ghc: '8.8.3' # fails due to segfault
Expand All @@ -30,8 +31,8 @@ jobs:
submodules: true
- uses: haskell/actions/setup@v1
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: '3.4'
ghc-version : ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}

- name: Use modified cabal.project for ghc9
if: ${{ matrix.ghc == '9.0.1' }}
Expand Down Expand Up @@ -68,12 +69,6 @@ jobs:
run: |
echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV

- name: Workaround for GHC 8.10.5 on macOS
if: matrix.os == 'macOS-latest' && matrix.ghc == '8.10.5'
run: |
echo "# uninstalling CommandLineTools (see https://github.com/haskell/haskell-language-server/issues/1913#issuecomment-861667786)"
sudo rm -rf /Library/Developer/CommandLineTools

- name: Modify cabal.project to workaround segfaults for ghc-8.8.4 and windows
if: matrix.ghc == '8.8.4' && matrix.os == 'windows-latest'
run: |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: Caching of dependencies
name: Caching

# 2021-11-30: NOTE: This workflow currently a trimmed copy of a main `test.yml` workflow. Workflows need further deduplication: https://docs.github.com/en/actions/learn-github-actions/reusing-workflows#overview
# Docs on the workflow:
# 1. GitHub cache scoping goes: main branch -> PR main branch -> PR. (essentially in a tree fashion). That is why it is useful to build caches on `master` - to generate & keep the main project state & they would be shared to the whole tree.
# 2. GitHub has a 10G default limit of cache pool per repo. HLS is a big project & monorepo of many projects, so to keep cache useful - the main branch state caches should be preserved & their storage preferred to the PRs, since PRs from internal branches - would count into 10G pool, but would be available only inside of the PR scope, which can bork cache fore the whole community. That is short story why `dist-newstyle` (especially full) - is not includded into `master` cache.

defaults:
run:
Expand Down Expand Up @@ -44,8 +46,9 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.8.4", "8.8.3", "8.6.5"]
ghc: ["9.0.1", '8.10.7', '8.10.6', "8.8.4", "8.8.3", "8.6.5"]
os: [ubuntu-latest, macOS-latest, windows-latest]
cabal: ['3.6']
exclude:
- os: windows-latest
ghc: '8.8.3'
Expand All @@ -56,8 +59,8 @@ jobs:
submodules: true
- uses: haskell/actions/setup@v1
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: "3.4"
ghc-version : ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}

- if: matrix.os == 'windows-latest'
name: Set some window specific things
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/hackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ jobs:
"8.10.7",
"8.8.4",
"8.6.5"]
cabal: ['3.6']
exclude:
- ghc: "9.0.1"
package: "hls-brittany-plugin"
Expand All @@ -51,8 +52,8 @@ jobs:

- uses: haskell/actions/setup@v1
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: '3.4'
ghc-version : ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}

- name: Cache Cabal
uses: actions/cache@v2
Expand Down
15 changes: 4 additions & 11 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,9 @@ jobs:
strategy:
fail-fast: true
matrix:
ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.8.4", "8.8.3", "8.6.5"]
ghc: ["9.0.1", '8.10.7', '8.10.6', "8.8.4", "8.8.3", "8.6.5"]
os: [ubuntu-latest, macOS-latest]
cabal: ['3.6']
include:
# only test supported ghc major versions
- os: ubuntu-latest
Expand All @@ -68,8 +69,6 @@ jobs:
# only build rest of supported ghc versions for windows
- os: windows-latest
ghc: '8.10.6'
- os: windows-latest
ghc: '8.10.5'
- os: windows-latest
ghc: '8.8.4'

Expand All @@ -79,8 +78,8 @@ jobs:
submodules: true
- uses: haskell/actions/setup@v1
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: "3.4"
ghc-version : ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}

- run: ./fmt.sh
name: "HLint via ./fmt.sh"
Expand All @@ -97,12 +96,6 @@ jobs:
echo "CABAL_STORE_DIR=~/.cabal/store" >> $GITHUB_ENV
echo "CABAL_PKGS_DIR=~/.cabal/packages" >> $GITHUB_ENV

- if: matrix.os == 'macOS-latest' && matrix.ghc == '8.10.5'
name: Workaround for GHC 8.10.5 on macOS
run: |
echo "# uninstalling CommandLineTools (see https://github.com/haskell/haskell-language-server/issues/1913#issuecomment-861667786)"
sudo rm -rf /Library/Developer/CommandLineTools

# Needs to be before Cache Cabal so the cache can detect changes to the modified cabal.project file
- if: matrix.ghc == '9.0.1'
name: Use modified cabal.project for ghc9
Expand Down