diff --git a/.github/workflows/haskell.yml b/.github/workflows/haskell.yml index 77fdcb1cd..703242578 100644 --- a/.github/workflows/haskell.yml +++ b/.github/workflows/haskell.yml @@ -52,6 +52,14 @@ jobs: uses: input-output-hk/actions/base@latest with: use-sodium-vrf: true + - name: Add LMDB to Nix environment + run: | + nix-env -f '' -iA lmdb + LMDB_STORE=$(find /nix/store -maxdepth 1 -name '*lmdb*-dev' -type d | head -1) + if [ -n "$LMDB_STORE" ]; then + echo "LMDB_PKGCONFIG=${LMDB_STORE}/lib/pkgconfig" >> $GITHUB_ENV + fi + shell: devx {0} - name: cache cabal uses: actions/cache@v3 with: @@ -61,11 +69,22 @@ jobs: key: ${{ env.CABAL_CACHE_VERSION }}-${{ runner.os }}-${{ matrix.compiler-nix-name }}-${{ hashFiles('**/*.cabal', '**/cabal.project', '**/cabal.project.freeze') }} restore-keys: ${{ env.CABAL_CACHE_VERSION }}-${{ runner.os }}-${{ matrix.compiler-nix-name }}- - name: cabal update - run: cabal update + run: | + export PKG_CONFIG_PATH_FOR_TARGET=${{ env.LMDB_PKGCONFIG }}:${PKG_CONFIG_PATH_FOR_TARGET:-} + cabal update - name: cabal build dependencies - run: cabal build all -j --enable-tests --only-dependencies + run: | + export PKG_CONFIG_PATH_FOR_TARGET=${{ env.LMDB_PKGCONFIG }}:${PKG_CONFIG_PATH_FOR_TARGET:-} + cabal build all -j --enable-tests --only-dependencies + # - name: Setup tmate session + # uses: mxschmitt/action-tmate@v3 + # if: ${{ failure() }} + # with: + # limit-access-to-actor: true - name: cabal build - run: cabal build all -j --enable-tests + run: | + export PKG_CONFIG_PATH_FOR_TARGET=${{ env.LMDB_PKGCONFIG }}:${PKG_CONFIG_PATH_FOR_TARGET:-} + cabal build all -j --enable-tests - name: postgres init working-directory: run: | @@ -89,6 +108,7 @@ jobs: start - name: cabal test run: | + export PKG_CONFIG_PATH_FOR_TARGET=${{ env.LMDB_PKGCONFIG }}:${PKG_CONFIG_PATH_FOR_TARGET:-} # Create pgpass file export PGPASSFILE="${PG_DIR}/pgpass-testing" echo "${PG_DIR}:5432:$DBUSER:$DBUSER:*" > $PGPASSFILE diff --git a/cabal.project b/cabal.project index a35db182f..41a51d008 100644 --- a/cabal.project +++ b/cabal.project @@ -74,6 +74,7 @@ constraints: -- code,`Data.Text` is being imported unqualified (bad idea IMO) which -- then clashes with the `show` in `Prelude`. , text < 2.1.2 + , typed-protocols < 1.1 if impl (ghc >= 9.12) allow-newer: diff --git a/cardano-chain-gen/hie.yaml b/cardano-chain-gen/hie.yaml deleted file mode 100644 index 04cd24395..000000000 --- a/cardano-chain-gen/hie.yaml +++ /dev/null @@ -1,2 +0,0 @@ -cradle: - cabal: diff --git a/cardano-db-sync/hie.yaml b/cardano-db-sync/hie.yaml deleted file mode 100644 index 04cd24395..000000000 --- a/cardano-db-sync/hie.yaml +++ /dev/null @@ -1,2 +0,0 @@ -cradle: - cabal: diff --git a/cardano-db-tool/hie.yaml b/cardano-db-tool/hie.yaml deleted file mode 100644 index 04cd24395..000000000 --- a/cardano-db-tool/hie.yaml +++ /dev/null @@ -1,2 +0,0 @@ -cradle: - cabal: diff --git a/cardano-smash-server/hie.yaml b/cardano-smash-server/hie.yaml deleted file mode 100644 index 04cd24395..000000000 --- a/cardano-smash-server/hie.yaml +++ /dev/null @@ -1,2 +0,0 @@ -cradle: - cabal: diff --git a/hie.yaml b/hie.yaml new file mode 100644 index 000000000..ad901ddd4 --- /dev/null +++ b/hie.yaml @@ -0,0 +1,33 @@ +cradle: + cabal: + # cardano-db + - path: "./cardano-db/src" + component: "lib:cardano-db" + - path: "./cardano-db/test" + component: "cardano-db:test:test" + + # cardano-db-sync + - path: "./cardano-db-sync/src" + component: "lib:cardano-db-sync" + - path: "./cardano-db-sync/app" + component: "exe:cardano-db-sync" + - path: "./cardano-db-sync/test" + component: "cardano-db-sync:test:test" + + # cardano-db-tool + - path: "./cardano-db-tool/src" + component: "lib:cardano-db-tool" + - path: "./cardano-db-tool/app" + component: "exe:cardano-db-tool" + + # cardano-smash-server + - path: "./cardano-smash-server/src" + component: "lib:cardano-smash-server" + - path: "./cardano-smash-server/app" + component: "exe:cardano-smash-server" + + # cardano-chain-gen + - path: "./cardano-chain-gen/src" + component: "lib:cardano-chain-gen" + - path: "./cardano-chain-gen/test" + component: "cardano-chain-gen:test:cardano-chain-gen"