Skip to content
Merged
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
45 changes: 22 additions & 23 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,52 +112,51 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install devbox
uses: jetify-com/devbox-install-action@v0.11.0
- name: Cache ghcup
uses: actions/cache@v4
with:
enable-cache: true
path: ~/.ghcup
key: ghcup-${{ matrix.os }}-${{ env.ghc }}

- name: Update cabal registry
run: devbox run -- cabal update
- id: setup-haskell
uses: haskell-actions/setup@v2
with:
ghc-version: ${{ env.ghc }}
cabal-version: ${{ env.cabal }}

- name: List exact cabal deps
run: |
devbox run -- cabal freeze --only-dependencies
cabal freeze --only-dependencies
sed -i '' -e '$ d' cabal.project.freeze

- name: Cache cabal store
uses: actions/cache@v4
with:
path: ~/.cabal/store
key: deps-${{ matrix.os }}-${{ hashFiles('devbox.lock', 'cabal.project.freeze') }}
path: ${{ steps.setup-haskell.outputs.cabal-store }}
key: deps-${{ matrix.os }}-${{ env.ghc }}-${{ hashFiles('cabal.project.freeze') }}
restore-keys: deps-${{ matrix.os }}-${{ env.ghc }}-

- name: Cache build artifacts
uses: actions/cache@v4
with:
path: dist-newstyle
key: dist-${{ matrix.os }}-${{ github.sha }}
restore-keys: dist-${{ matrix.os }}-

- name: Cache node_modules
uses: actions/cache@v4
with:
path: node_modules
key: npm-${{ matrix.os }}-${{ hashFiles('devbox.lock', 'package-lock.json') }}

- name: Install npm dependencies
run: devbox run -- npm install
key: dist-${{ matrix.os }}-${{ env.ghc }}-${{ github.sha }}
restore-keys: dist-${{ matrix.os }}-${{ env.ghc }}-

- name: Configure
run: devbox run -- cabal configure --enable-tests -O2
run: cabal configure --enable-tests -O2

- name: Build
run: devbox run -- cabal build
run: cabal build

- name: Tests
run: devbox run test
run: cabal test

- name: Move binary
run: cp `devbox run -- cabal list-bin .` ./gren
run: cp `cabal list-bin .` ./gren

- name: Strip
run: strip gren

- uses: actions/upload-artifact@v4
with:
Expand Down
Loading