Skip to content
Closed
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
7 changes: 7 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Check if nix-direnv is already loaded; if not, source it
if ! has nix_direnv_reload; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.7/direnvrc" "sha256-bn8WANE5a91RusFmRI7kS751ApelG02nMcwRekC/qzc="
fi

# Use the specified flake to enter the Nix development environment
use flake github:input-output-hk/devx#ghc98-minimal-ghc
62 changes: 39 additions & 23 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,43 +9,59 @@ on:
push:
branches: [master]

workflow_dispatch:

jobs:
cabal:
name: ${{ matrix.os }} / ghc ${{ matrix.ghc }}
runs-on: ${{ matrix.os }}
name: ${{ matrix.plat }} / ghc ${{ matrix.ghc }}
runs-on: "${{ fromJSON('{\"x86_64-linux\": \"ubuntu-24.04\", \"aarch64-linux\": \"ubuntu-24.04-arm\", \"x86_64-darwin\": \"macos-latest\", \"aarch64-darwin\": \"macos-latest\"}')[matrix.plat] }}"

strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
ghc: ['9.6.5'] # bootstrapping compiler
plat: [x86_64-linux, aarch64-linux, x86_64-darwin, aarch64-darwin]
ghc: ['98'] # bootstrapping compiler

steps:
- uses: actions/checkout@v4
with:
submodules: "recursive"

- uses: haskell-actions/setup@v2
id: setup
name: Setup Haskell tools
- uses: input-output-hk/actions/devx@latest
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: "latest"
cabal-update: true
platform: ${{ matrix.plat }}
compiler-nix-name: 'ghc98'
minimal: true
ghc: true

- name: Install Alex and Happy
run: |
cabal install alex
cabal install happy
- name: Update hackage
shell: devx {0}
run: cabal update

- name: Configure the build
run: |
./boot
./configure

- name: Build Hadrian
run: |
./hadrian/build --version
shell: devx {0}
run: ./configure

- name: Build the bindist
run: |
./hadrian/build --flavour=release -j binary-dist-dir --docs=none
shell: devx {0}
run: make CABAL=$PWD/_build/stage0/bin/cabal

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.plat }}-bindist
path: _build/bindist

- name: Run the testsuite
shell: devx {0}
run: make test CABAL=$PWD/_build/stage0/bin/cabal

- name: Upload test results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }} # upload test results even if the testsuite failed to pass
with:
name: testsuite-results
path: |
_build/test-perf.csv
_build/test-summary.txt
_build/test-junit.xml
7 changes: 2 additions & 5 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
ignore = untracked
[submodule "libraries/Cabal"]
path = libraries/Cabal
url = https://gitlab.haskell.org/ghc/packages/Cabal.git
url = https://github.com/stable-haskell/cabal
ignore = untracked
branch = stable-haskell/feature/cross-compile
[submodule "libraries/containers"]
path = libraries/containers
url = https://gitlab.haskell.org/ghc/packages/containers.git
Expand Down Expand Up @@ -99,10 +100,6 @@
path = utils/hsc2hs
url = https://gitlab.haskell.org/ghc/hsc2hs.git
ignore = untracked
[submodule "libffi-tarballs"]
path = libffi-tarballs
url = https://gitlab.haskell.org/ghc/libffi-tarballs.git
ignore = untracked
[submodule "gmp-tarballs"]
path = libraries/ghc-internal/gmp/gmp-tarballs
url = https://gitlab.haskell.org/ghc/gmp-tarballs.git
Expand Down
Loading
Loading