Skip to content

Commit

Permalink
module dependency analysis improvements (digital-asset#543)
Browse files Browse the repository at this point in the history
* simplify ghc -M, add new tests

* Update ghc-lib-gen.cabal

Co-authored-by: Samuel Williams <[email protected]>

---------

Co-authored-by: Samuel Williams <[email protected]>
  • Loading branch information
shayne-fletcher and samuel-williams-da authored Jul 29, 2024
1 parent 73e1ea4 commit e598618
Show file tree
Hide file tree
Showing 18 changed files with 329 additions and 410 deletions.
34 changes: 13 additions & 21 deletions .github/workflows/ghc-lib-da-ghc-8.4.3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,35 @@ on:
jobs:
runhaskell:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu, windows]
os: [ubuntu-latest, macos-13, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
id: setup-haskell
with:
ghc-version: 8.4.3
cabal-version: 'latest'
- name: Install build tools (macOS)
run: brew install automake
if: matrix.os == 'macos-13'
- name: Configure msys2 (windows)
shell: bash
run: |-
echo "MSYSTEM=CLANG64" >> $GITHUB_ENV
echo "/c/mingw64/usr/bin" >> $GITHUB_PATH
echo "/c/msys64/usr/bin" >> $GITHUB_PATH
if: matrix.os == 'windows'
- name: Install ghcup (windows)
shell: bash
run: |-
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_GHC_VERSION=8.4.3 BOOTSTRAP_HASKELL_CABAL_VERSION=latest BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK_HOOK=1 BOOTSTRAP_HASKELL_ADJUST_BASHRC=N sh
echo "/c/ghcup/bin" >> $GITHUB_PATH
echo "/c/ghcup/ghc/8.4.3/bin" >> $GITHUB_PATH
echo "/c/cabal/bin" >> $GITHUB_PATH
if: matrix.os == 'windows'
- name: Install ghcup (unix)
shell: bash
run: |-
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_GHC_VERSION=8.4.3 BOOTSTRAP_HASKELL_CABAL_VERSION=latest BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK_HOOK=1 BOOTSTRAP_HASKELL_ADJUST_BASHRC=N sh
echo "$HOME/.ghcup/bin" >> $GITHUB_PATH
echo "$HOME/.ghcup/ghc/8.4.3/bin" >> $GITHUB_PATH
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
if: matrix.os == 'ubuntu' || matrix.os == 'macos'
if: matrix.os == 'windows-latest'
- name: Run CI.hs (windows)
shell: C:\msys64\usr\bin\bash.exe --noprofile --norc -e -o pipefail '{0}'
run: |-
pacman -S autoconf automake-wrapper make patch python tar mintty --noconfirm
cabal run exe:ghc-lib-build-tool -- --da
if: matrix.os == 'windows'
if: matrix.os == 'windows-latest'
- name: Run CI.hs (unix)
shell: bash
run: cabal run exe:ghc-lib-build-tool -- --da
if: matrix.os == 'ubuntu' || matrix.os == 'macos'
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-13'
39 changes: 39 additions & 0 deletions .github/workflows/ghc-lib-ghc-9.0.2-ghc-8.10.7.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: ghc-lib-ghc-9.0.2-ghc-8.10.7
on:
push:
pull_request:
jobs:
runhaskell:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-13, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
id: setup-haskell
with:
ghc-version: 8.10.7
cabal-version: 'latest'
- name: Install build tools (macOS)
run: brew install automake
if: matrix.os == 'macos-13'
- name: Configure msys2 (windows)
shell: bash
run: |-
echo "MSYSTEM=CLANG64" >> $GITHUB_ENV
echo "/c/mingw64/usr/bin" >> $GITHUB_PATH
echo "/c/msys64/usr/bin" >> $GITHUB_PATH
if: matrix.os == 'windows-latest'
- name: Run CI.hs (windows)
shell: C:\msys64\usr\bin\bash.exe --noprofile --norc -e -o pipefail '{0}'
run: |-
pacman -S autoconf automake-wrapper make patch python tar mintty --noconfirm
cabal run exe:ghc-lib-build-tool --constraint=any."happy==1.19.12" --constraint="any.alex==3.2.7.3" -- --ghc-flavor ghc-9.0.2
if: matrix.os == 'windows-latest'
- name: Run CI.hs (unix)
shell: bash
run: cabal run exe:ghc-lib-build-tool --constraint="any.happy==1.19.12" --constraint="any.alex==3.2.7.3" -- --ghc-flavor ghc-9.0.2
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-13'
21 changes: 5 additions & 16 deletions .github/workflows/ghc-lib-ghc-9.10.1-ghc-9.8.2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ jobs:
os: [ubuntu, macos, windows]
steps:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
id: setup-haskell
with:
ghc-version: 9.8.2
cabal-version: 'latest'
- name: Install build tools (macOS)
run: brew install automake
if: matrix.os == 'macos'
Expand All @@ -22,22 +27,6 @@ jobs:
echo "/c/mingw64/usr/bin" >> $GITHUB_PATH
echo "/c/msys64/usr/bin" >> $GITHUB_PATH
if: matrix.os == 'windows'
- name: Install ghcup (windows)
shell: bash
run: |-
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_GHC_VERSION=9.8.2 BOOTSTRAP_HASKELL_CABAL_VERSION=latest BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK_HOOK=1 BOOTSTRAP_HASKELL_ADJUST_BASHRC=N sh
echo "/c/ghcup/bin" >> $GITHUB_PATH
echo "/c/ghcup/ghc/9.8.2/bin" >> $GITHUB_PATH
echo "/c/cabal/bin" >> $GITHUB_PATH
if: matrix.os == 'windows'
- name: Install ghcup (unix)
shell: bash
run: |-
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_GHC_VERSION=9.8.2 BOOTSTRAP_HASKELL_CABAL_VERSION=latest BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK_HOOK=1 BOOTSTRAP_HASKELL_ADJUST_BASHRC=N sh
echo "$HOME/.ghcup/bin" >> $GITHUB_PATH
echo "$HOME/.ghcup/ghc/9.8.2/bin" >> $GITHUB_PATH
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
if: matrix.os == 'ubuntu' || matrix.os == 'macos'
- name: Run CI.hs (windows)
shell: C:\msys64\usr\bin\bash.exe --noprofile --norc -e -o pipefail '{0}'
run: |-
Expand Down
39 changes: 39 additions & 0 deletions .github/workflows/ghc-lib-ghc-9.4.8-ghc-9.0.2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: ghc-lib-ghc-9.4.8-ghc-9.0.2
on:
push:
pull_request:
jobs:
runhaskell:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-13, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
id: setup-haskell
with:
ghc-version: 9.0.2
cabal-version: 'latest'
- name: Install build tools (macOS)
run: brew install automake
if: matrix.os == 'macos-13'
- name: Configure msys2 (windows)
shell: bash
run: |-
echo "MSYSTEM=CLANG64" >> $GITHUB_ENV
echo "/c/mingw64/usr/bin" >> $GITHUB_PATH
echo "/c/msys64/usr/bin" >> $GITHUB_PATH
if: matrix.os == 'windows-latest'
- name: Run CI.hs (windows)
shell: C:\msys64\usr\bin\bash.exe --noprofile --norc -e -o pipefail '{0}'
run: |-
pacman -S autoconf automake-wrapper make patch python tar mintty --noconfirm
cabal run exe:ghc-lib-build-tool -- --ghc-flavor ghc-9.4.8
if: matrix.os == 'windows-latest'
- name: Run CI.hs (unix)
shell: bash
run: cabal run exe:ghc-lib-build-tool -- --ghc-flavor ghc-9.4.8
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-13'
21 changes: 5 additions & 16 deletions .github/workflows/ghc-lib-ghc-9.8.2-ghc-9.6.5.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ jobs:
os: [ubuntu, macos, windows]
steps:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
id: setup-haskell
with:
ghc-version: 9.6.5
cabal-version: 'latest'
- name: Install build tools (macOS)
run: brew install automake
if: matrix.os == 'macos'
Expand All @@ -22,22 +27,6 @@ jobs:
echo "/c/mingw64/usr/bin" >> $GITHUB_PATH
echo "/c/msys64/usr/bin" >> $GITHUB_PATH
if: matrix.os == 'windows'
- name: Install ghcup (windows)
shell: bash
run: |-
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_GHC_VERSION=9.6.5 BOOTSTRAP_HASKELL_CABAL_VERSION=latest BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK_HOOK=1 BOOTSTRAP_HASKELL_ADJUST_BASHRC=N sh
echo "/c/ghcup/bin" >> $GITHUB_PATH
echo "/c/ghcup/ghc/9.6.5/bin" >> $GITHUB_PATH
echo "/c/cabal/bin" >> $GITHUB_PATH
if: matrix.os == 'windows'
- name: Install ghcup (unix)
shell: bash
run: |-
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_GHC_VERSION=9.6.5 BOOTSTRAP_HASKELL_CABAL_VERSION=latest BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK_HOOK=1 BOOTSTRAP_HASKELL_ADJUST_BASHRC=N sh
echo "$HOME/.ghcup/bin" >> $GITHUB_PATH
echo "$HOME/.ghcup/ghc/9.6.5/bin" >> $GITHUB_PATH
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
if: matrix.os == 'ubuntu' || matrix.os == 'macos'
- name: Run CI.hs (windows)
shell: C:\msys64\usr\bin\bash.exe --noprofile --norc -e -o pipefail '{0}'
run: |-
Expand Down
22 changes: 5 additions & 17 deletions .github/workflows/ghc-lib-ghc-master-ghc-9.10.1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ jobs:
os: [ubuntu, macos, windows]
steps:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
id: setup-haskell
with:
ghc-version: 9.10.1
cabal-version: 'latest'
- name: Install build tools (macOS)
run: brew install automake
if: matrix.os == 'macos'
Expand All @@ -22,23 +27,6 @@ jobs:
echo "/c/mingw64/usr/bin" >> $GITHUB_PATH
echo "/c/msys64/usr/bin" >> $GITHUB_PATH
if: matrix.os == 'windows'
- name: Install ghcup (windows)
shell: bash
run: |-
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_GHC_VERSION=9.10.1 BOOTSTRAP_HASKELL_CABAL_VERSION=latest BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK_HOOK=1 BOOTSTRAP_HASKELL_ADJUST_BASHRC=N sh
echo "/c/ghcup/bin" >> $GITHUB_PATH
echo "/c/ghcup/ghc/9.10.1/bin" >> $GITHUB_PATH
echo "/c/cabal/bin" >> $GITHUB_PATH
if: matrix.os == 'windows'
- name: Install ghcup (unix)
shell: bash
run: |-
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_GHC_VERSION=9.10.1 BOOTSTRAP_HASKELL_CABAL_VERSION=latest BOOTSTRAP_HASKELL_INSTALL_NO_STACK=1 BOOTSTRAP_HASKELL_INSTALL_NO_STACK_HOOK=1 BOOTSTRAP_HASKELL_ADJUST_BASHRC=N sh
ls "$HOME"/.ghcup/bin
echo "$HOME/.ghcup/bin" >> $GITHUB_PATH
echo "$HOME/.ghcup/ghc/9.10.1/bin" >> $GITHUB_PATH
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
if: matrix.os == 'ubuntu' || matrix.os == 'macos'
- name: Run CI.hs (windows)
shell: C:\msys64\usr\bin\bash.exe --noprofile --norc -e -o pipefail '{0}'
run: |-
Expand Down
Loading

0 comments on commit e598618

Please sign in to comment.