Skip to content
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
fbb9c1a
Add github workflow
hsyl20 Nov 15, 2024
efbd4cf
feat: Implement cabal-based multi-stage build system
Aug 28, 2025
563799e
feat: Modularize RTS and extract headers/filesystem utilities
Aug 28, 2025
702b86f
feat: Complete multi-target support and compiler enhancements
Aug 28, 2025
4953f35
Fix bootstrap compiler detection and build tool issues
Aug 29, 2025
a132932
Fixup basic build issues; still produes crashing ghc-pkg :-/
Aug 30, 2025
98cf43d
Reset configure.ac to the simple stable-haskell one.
Aug 30, 2025
9c34b80
Incorporate Julians changes and re-run autoreconf.
Aug 30, 2025
fe9c59f
Fixup github CI for the sythesized package requirement.
Aug 30, 2025
bccf35b
fixup! Incorporate Julians changes and re-run autoreconf.
Aug 31, 2025
433153a
Set ghc version to 9.14 (this is stupid!)
Aug 31, 2025
f22af96
fixup! Set ghc version to 9.14 (this is stupid!)
Aug 31, 2025
322b0ef
OOps!
Aug 31, 2025
df8c228
Unbreak bindist
Aug 31, 2025
f265318
fixup! fixup! Set ghc version to 9.14 (this is stupid!)
Aug 31, 2025
ca44b76
fixup! feat: Complete multi-target support and compiler enhancements
Aug 31, 2025
5618380
test.mk expect GhcLeadingUnderscore, not LeadingUnderscore (in line w…
Aug 31, 2025
3c64fab
More mach-o debugging.
Aug 31, 2025
99c0255
Fix broken exec_signals_child.c
Aug 31, 2025
cd3acfe
Enable ghci library.
Aug 31, 2025
fabc41b
testsuite: partially revert f68a6b381c7: drop ELF .note.GNU-stack on …
Sep 1, 2025
cd9ae5e
testsuite: clarify Windows/Darwin locale rationale for skipping T6037…
Sep 1, 2025
4ac489b
testsuite: default SKIP_METRICS=1 (suppress perf metrics unless overr…
Sep 1, 2025
98e9793
testsuite: Fix T10920
Sep 1, 2025
b31bae5
testsuite: run with --verbose=0 by default to suppress fragile pass n…
Sep 1, 2025
9b6656d
Makefile: align testsuite invocation with Hadrian flags and tool envs…
Sep 1, 2025
9648178
testsuite: Use SKIP_PERF_TESTS
Sep 1, 2025
549c56e
Skip broken tests on macOS (due to leading underscore not handled pro…
Sep 1, 2025
7207e8f
Improve
hasufell Sep 1, 2025
7d0591e
Lala
hasufell Sep 1, 2025
d260516
Revert "fixup! Incorporate Julians changes and re-run autoreconf."
Sep 1, 2025
46b78a6
Lol
hasufell Sep 1, 2025
4e51566
lol
hasufell Sep 1, 2025
06b3786
Yo
hasufell Sep 1, 2025
797b291
LOL
hasufell Sep 1, 2025
da31635
blah
hasufell Sep 1, 2025
043cdf8
lmao
hasufell Sep 1, 2025
da31c6a
-.-
hasufell Sep 1, 2025
a1080a8
Rausdeichseln
hasufell Sep 1, 2025
b3c5a8a
Lol
hasufell Sep 1, 2025
eb40feb
Dear lord
hasufell Sep 1, 2025
6da04e2
build threaded
hasufell Sep 1, 2025
cc54143
testsuite: adapt to cabal update, and gate plugins-external by ghc_dy…
Sep 2, 2025
5d6d697
Add DYNAMIC option.
Sep 2, 2025
90c8eae
T13786 does not appear broken on linux with non-dynamic.
Sep 2, 2025
e210ab5
testsuite: T20010 isn't broken on linux/non-dynamic only. It's also b…
Sep 2, 2025
cc54261
Disable aarch64-linux, and x86_64-darwin for now.
Sep 2, 2025
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
71 changes: 71 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: CI

# Trigger the workflow on push or pull request, but only for the master branch
on:
pull_request:
types:
- opened
- synchronize
push:
branches: [master]

workflow_dispatch:

jobs:
cabal:
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:
plat: [x86_64-linux, aarch64-linux, x86_64-darwin, aarch64-darwin]
ghc: ['98'] # bootstrapping compiler

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

- uses: input-output-hk/actions/devx@latest
with:
platform: ${{ matrix.plat }}
compiler-nix-name: 'ghc98'
minimal: true
ghc: true

- name: Update hackage
shell: devx {0}
run: cabal update

# The Makefile will run configure (and boot 😞), we also need to create a
# synthetic package before running configure. Once this nuissance is fixed
# we can do proper configure + make again. Until then... we have to live
# with the hack of running everything from the make target.
# - name: Configure the build
# shell: devx {0}
# run: ./configure

- name: Build the bindist
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.git
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