@@ -38,108 +38,108 @@ jobs:
3838 - run : |
3939 bazelisk test buildifier:buildifier_test
4040
41- test-nixpkgs :
42- name : Build & Test - Nixpkgs
43- strategy :
44- fail-fast : false
45- matrix :
46- os : [ubuntu-latest, macos-13]
47- module : [rules_haskell, rules_haskell_nix, rules_haskell_tests]
48- bzlmod : [true, false]
49- ghc :
50- - 9.4.6
51- - 9.6.5
52- - 9.8.1
53- exclude :
54- - module : rules_haskell_nix
41+ # test-nixpkgs:
42+ # name: Build & Test - Nixpkgs
43+ # strategy:
44+ # fail-fast: false
45+ # matrix:
46+ # os: [ubuntu-latest, macos-13]
47+ # module: [rules_haskell, rules_haskell_nix, rules_haskell_tests]
48+ # bzlmod: [true, false]
49+ # ghc:
50+ # - 9.4.6
51+ # - 9.6.5
52+ # - 9.8.1
53+ # exclude:
54+ # - module: rules_haskell_nix
5555
56- bzlmod : false
57- # TODO: in a MODULE.bazel file we declare version specific dependencies, would need to use stack snapshot json
58- # and stack config per GHC version
59- - ghc : 9.8.1
60- bzlmod : true
61- - ghc : 9.6.5
62- bzlmod : true
63- runs-on : ${{ matrix.os }}
64- env :
65- NIX_SHELL_ARGS : --arg docTools false --argstr ghcVersion ${{ matrix.ghc }}
66- steps :
67- - uses : actions/checkout@v4
68- - uses : ./.github/actions/free_disk_space_on_linux
69- - name : Mount Bazel cache
70- uses : actions/cache@v4
71- with :
72- path : ~/repo-cache
73- key : repo-cache-${{ runner.os }}-nixpkgs-${{ env.cache-version }}
74- - uses : cachix/install-nix-action@v30
75- with :
76- nix_path : nixpkgs=./nixpkgs/default.nix
77- extra_nix_config : |
78- trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=
79- extra-substituters = https://cache.iog.io
80- - uses : tweag/configure-bazel-remote-cache-auth@v0
81- with :
82- buildbuddy_api_key : ${{ secrets.BUILDBUDDY_API_KEY }}
83- bazelrc_path : .bazelrc.auth
84- - uses : ./.github/actions/set_tcp_keepalive_time
85- - uses : extractions/netrc@v2
86- with :
87- machine : api.github.com
88- password : ${{ secrets.GITHUB_TOKEN }}
89- - name : Configure
90- run : |
91- case ${{ runner.os }} in
92- macOS) BUILD_CONFIG=macos-nixpkgs;;
93- Linux) BUILD_CONFIG=linux-nixpkgs;;
94- esac
95- cat >>.bazelrc.local <<EOF
96- common --config=ci
97- build --config=$BUILD_CONFIG
98- common --enable_bzlmod=${{ matrix.bzlmod }}
99- EOF
100- cp .bazelrc.local rules_haskell_nix
101- cp .bazelrc.local rules_haskell_tests
102- - name : Build & test - rules_haskell
103- if : matrix.module == 'rules_haskell'
104- uses : tweag/run-nix-shell@v0
105- with :
106- options : ${{ env.NIX_SHELL_ARGS }}
107- run : |
108- bazel test //...
109- bazel build //docs:api_html
110- bazel build //docs:guide_html
111- - name : Build & test - rules_haskell_nix
112- if : matrix.module == 'rules_haskell_nix'
113- uses : tweag/run-nix-shell@v0
114- with :
115- options : ${{ env.NIX_SHELL_ARGS }}
116- working-directory : rules_haskell_nix
117- run : bazel test //...
118- - name : Build & test - rules_haskell_tests
119- if : matrix.module == 'rules_haskell_tests'
120- uses : tweag/run-nix-shell@v0
121- with :
122- options : ${{ env.NIX_SHELL_ARGS }}
123- working-directory : rules_haskell_tests
124- run : |
125- # XXX run start script `--with-bzlmod=true` when supported
126- if ! ${{ matrix.bzlmod }}; then
127- ./tests/run-start-script.sh --use-nix --with-bzlmod=${{ matrix.bzlmod }}
128- fi
129- bazel build //tests:run-tests
130- # Shutdown Bazel to free up memory
131- # https://github.com/tweag/rules_haskell/issues/2089.
132- bazel shutdown
133- # Execute the tests dumping out memory/process information before and after each test.
134- RHT_PRINT_MEMORY=true ./bazel-ci-bin/tests/run-tests
135- bazel coverage //...
56+ # bzlmod: false
57+ # # TODO: in a MODULE.bazel file we declare version specific dependencies, would need to use stack snapshot json
58+ # # and stack config per GHC version
59+ # - ghc: 9.8.1
60+ # bzlmod: true
61+ # - ghc: 9.6.5
62+ # bzlmod: true
63+ # runs-on: ${{ matrix.os }}
64+ # env:
65+ # NIX_SHELL_ARGS: --arg docTools false --argstr ghcVersion ${{ matrix.ghc }}
66+ # steps:
67+ # - uses: actions/checkout@v4
68+ # - uses: ./.github/actions/free_disk_space_on_linux
69+ # - name: Mount Bazel cache
70+ # uses: actions/cache@v4
71+ # with:
72+ # path: ~/repo-cache
73+ # key: repo-cache-${{ runner.os }}-nixpkgs-${{ env.cache-version }}
74+ # - uses: cachix/install-nix-action@v30
75+ # with:
76+ # nix_path: nixpkgs=./nixpkgs/default.nix
77+ # extra_nix_config: |
78+ # trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=
79+ # extra-substituters = https://cache.iog.io
80+ # - uses: tweag/configure-bazel-remote-cache-auth@v0
81+ # with:
82+ # buildbuddy_api_key: ${{ secrets.BUILDBUDDY_API_KEY }}
83+ # bazelrc_path: .bazelrc.auth
84+ # - uses: ./.github/actions/set_tcp_keepalive_time
85+ # - uses: extractions/netrc@v2
86+ # with:
87+ # machine: api.github.com
88+ # password: ${{ secrets.GITHUB_TOKEN }}
89+ # - name: Configure
90+ # run: |
91+ # case ${{ runner.os }} in
92+ # macOS) BUILD_CONFIG=macos-nixpkgs;;
93+ # Linux) BUILD_CONFIG=linux-nixpkgs;;
94+ # esac
95+ # cat >>.bazelrc.local <<EOF
96+ # common --config=ci
97+ # build --config=$BUILD_CONFIG
98+ # common --enable_bzlmod=${{ matrix.bzlmod }}
99+ # EOF
100+ # cp .bazelrc.local rules_haskell_nix
101+ # cp .bazelrc.local rules_haskell_tests
102+ # - name: Build & test - rules_haskell
103+ # if: matrix.module == 'rules_haskell'
104+ # uses: tweag/run-nix-shell@v0
105+ # with:
106+ # options: ${{ env.NIX_SHELL_ARGS }}
107+ # run: |
108+ # bazel test //...
109+ # bazel build //docs:api_html
110+ # bazel build //docs:guide_html
111+ # - name: Build & test - rules_haskell_nix
112+ # if: matrix.module == 'rules_haskell_nix'
113+ # uses: tweag/run-nix-shell@v0
114+ # with:
115+ # options: ${{ env.NIX_SHELL_ARGS }}
116+ # working-directory: rules_haskell_nix
117+ # run: bazel test //...
118+ # - name: Build & test - rules_haskell_tests
119+ # if: matrix.module == 'rules_haskell_tests'
120+ # uses: tweag/run-nix-shell@v0
121+ # with:
122+ # options: ${{ env.NIX_SHELL_ARGS }}
123+ # working-directory: rules_haskell_tests
124+ # run: |
125+ # # XXX run start script `--with-bzlmod=true` when supported
126+ # if ! ${{ matrix.bzlmod }}; then
127+ # ./tests/run-start-script.sh --use-nix --with-bzlmod=${{ matrix.bzlmod }}
128+ # fi
129+ # bazel build //tests:run-tests
130+ # # Shutdown Bazel to free up memory
131+ # # https://github.com/tweag/rules_haskell/issues/2089.
132+ # bazel shutdown
133+ # # Execute the tests dumping out memory/process information before and after each test.
134+ # RHT_PRINT_MEMORY=true ./bazel-ci-bin/tests/run-tests
135+ # bazel coverage //...
136136
137137 test-bindist :
138138 name : Build & Test - bindist
139139 strategy :
140140 fail-fast : false
141141 matrix :
142- os : [ubuntu-latest, macos-13, windows-latest]
142+ os : [ windows-latest]
143143 module : [rules_haskell, rules_haskell_tests]
144144 bzlmod : [true, false]
145145 ghc :
@@ -218,6 +218,12 @@ jobs:
218218 # Quote the package specifier so that it works on Windows
219219 bazelisk test "//..."
220220
221+ - name : Setup tmate session
222+ if : ${{ failure() }}
223+ uses : mxschmitt/action-tmate@v3
224+ with :
225+ limit-access-to-actor : true
226+
221227 - name : Build & test - rules_haskell_tests
222228 if : matrix.module == 'rules_haskell_tests'
223229 shell : bash
@@ -256,7 +262,7 @@ jobs:
256262 runs-on : ubuntu-latest
257263 needs :
258264 - lint
259- - test-nixpkgs
265+ # - test-nixpkgs
260266 - test-bindist
261267 if : ${{ always() }}
262268 steps :
0 commit comments