2021-10-26 15:44:54 +03:00
|
|
|
PWD=$(CURDIR)
|
|
|
|
PREFIX="$(PWD)/.stack-work/prefix"
|
|
|
|
UNAME := $(shell uname)
|
2023-01-17 20:11:59 +03:00
|
|
|
|
Update CI to install Smoke, Github actions, and Makefile fixes (#1735)
This PR adds some maintenance at different levels to the CI config, the
Make file, and formatting.
- Most of the actions used by the CI related to haskell, ormolu, hlint
and pre-commit have been updated because Github requires NodeJS 16. This
change removes all the old warnings related to nodeJs.
In the case of ormolu, the new version makes us format some files that
were not formatted before, similarly with hlint.
- The CI has been updated to use the latest version of the Smoke testing
framework, which introduced installation of the dependencies for Linux
(libicu66) and macOS (icu4c) in the CI. In the case of macOS, the CI
uses a binary for smoke. For Linux, we use stack to build smoke from the
source. The source here is in a fork of [the official Smoke
repo](https://github.com/SamirTalwar/smoke). Such includes some
features/changes that are not yet in the official repo.
- The Makefile runs the ormolu and hlint targets using as a path for the
binaries the environment variables ORMOLU and HLINT. Thus, export those
variables in your environment before running `make check,` `make format`
or `make hlint`. Otherwise, the Makefile will use the binaries provided
by `stack`.
Co-authored-by: Paul Cadman <git@paulcadman.dev>
2023-01-24 13:50:23 +03:00
|
|
|
IMAGES = $(shell find assets/images -type f)
|
2022-08-03 15:44:48 +03:00
|
|
|
|
2022-05-23 17:20:02 +03:00
|
|
|
ORGFILES = $(shell find docs/org -type f -name '*.org')
|
|
|
|
MDFILES:=$(patsubst docs/org/%,docs/md/%,$(ORGFILES:.org=.md))
|
2022-05-20 17:16:16 +03:00
|
|
|
|
2022-07-15 14:52:16 +03:00
|
|
|
EXAMPLEMILESTONE=examples/milestone
|
|
|
|
EXAMPLEHTMLOUTPUT=_docs/examples/html
|
2023-01-19 15:28:21 +03:00
|
|
|
EXAMPLES= Collatz/Collatz.juvix \
|
|
|
|
Fibonacci/Fibonacci.juvix \
|
|
|
|
Hanoi/Hanoi.juvix \
|
|
|
|
HelloWorld/HelloWorld.juvix \
|
|
|
|
PascalsTriangle/PascalsTriangle.juvix \
|
|
|
|
TicTacToe/CLI/TicTacToe.juvix \
|
|
|
|
Tutorial/Tutorial.juvix \
|
2022-07-15 14:52:16 +03:00
|
|
|
|
2023-01-23 22:33:55 +03:00
|
|
|
DEMO_EXAMPLE=examples/demo/Demo.juvix
|
2022-08-03 17:14:38 +03:00
|
|
|
|
2023-02-22 17:27:40 +03:00
|
|
|
MAKEAUXFLAGS?=-s
|
|
|
|
MAKE=make ${MAKEAUXFLAGS}
|
|
|
|
|
2022-05-20 17:16:16 +03:00
|
|
|
ORGTOMDPRG ?=pandoc
|
2022-05-23 17:20:02 +03:00
|
|
|
ORGOPTS=--from org --to markdown_strict -s -o $@
|
2022-05-20 17:16:16 +03:00
|
|
|
|
2021-10-26 15:44:54 +03:00
|
|
|
ifeq ($(UNAME), Darwin)
|
|
|
|
THREADS := $(shell sysctl -n hw.logicalcpu)
|
|
|
|
else ifeq ($(UNAME), Linux)
|
|
|
|
THREADS := $(shell nproc)
|
|
|
|
else
|
|
|
|
THREADS := $(shell echo %NUMBER_OF_PROCESSORS%)
|
|
|
|
endif
|
2021-09-26 19:59:51 +03:00
|
|
|
|
2023-01-17 20:11:59 +03:00
|
|
|
images:
|
|
|
|
echo $(IMAGES)
|
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
all: install
|
|
|
|
|
2022-11-03 11:38:09 +03:00
|
|
|
clean: clean-runtime
|
2022-08-03 15:44:48 +03:00
|
|
|
@stack clean --full
|
|
|
|
@rm -rf .hie
|
|
|
|
@rm -rf _docs
|
2022-08-15 13:20:38 +03:00
|
|
|
@rm -rf docs/md
|
2022-08-03 15:44:48 +03:00
|
|
|
|
2022-11-03 11:38:09 +03:00
|
|
|
.PHONY: clean-runtime
|
2023-01-05 18:39:40 +03:00
|
|
|
clean-runtime: clean-juvix-build
|
2023-02-22 17:27:40 +03:00
|
|
|
@cd runtime && ${MAKE} clean
|
2022-11-03 11:38:09 +03:00
|
|
|
|
2023-01-05 18:39:40 +03:00
|
|
|
.PHONY: clean-juvix-build
|
|
|
|
clean-juvix-build:
|
|
|
|
@find . -type d -name '.juvix-build' | xargs rm -rf
|
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
repl:
|
|
|
|
@stack ghci Juvix:lib
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# -- The Juvix Book
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
# -- EXAMPLES
|
|
|
|
|
|
|
|
.PHONY: html-examples
|
|
|
|
html-examples: $(EXAMPLES)
|
|
|
|
|
|
|
|
$(EXAMPLES):
|
|
|
|
$(eval OUTPUTDIR=$(EXAMPLEHTMLOUTPUT)/$(dir $@))
|
|
|
|
@mkdir -p ${OUTPUTDIR}
|
2023-01-19 15:28:21 +03:00
|
|
|
@juvix html $(EXAMPLEMILESTONE)/$@ --output-dir=$(CURDIR)/${OUTPUTDIR}
|
2023-01-23 22:33:55 +03:00
|
|
|
|
|
|
|
.PHONY: demo-example
|
|
|
|
demo-example:
|
|
|
|
$(eval OUTPUTDIR=$(EXAMPLEHTMLOUTPUT)/Demo)
|
|
|
|
@mkdir -p ${OUTPUTDIR}
|
|
|
|
@juvix html $(DEMO_EXAMPLE) --output-dir=$(CURDIR)/${OUTPUTDIR}
|
2022-08-03 17:14:38 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
# -- MDBook
|
2021-10-30 12:51:42 +03:00
|
|
|
|
2022-08-08 13:07:50 +03:00
|
|
|
docs/md/README.md : README.org
|
2022-07-19 19:43:16 +03:00
|
|
|
@mkdir -p docs/md
|
|
|
|
@${ORGTOMDPRG} README.org ${ORGOPTS}
|
|
|
|
|
2022-08-08 13:07:50 +03:00
|
|
|
docs/md/changelog.md : changelog.org
|
2022-07-25 19:42:24 +03:00
|
|
|
@mkdir -p docs/md
|
|
|
|
@${ORGTOMDPRG} changelog.org ${ORGOPTS}
|
|
|
|
|
2022-05-23 17:20:02 +03:00
|
|
|
docs/md/%.md : docs/org/%.org
|
|
|
|
@echo "Processing ... $@"
|
|
|
|
@mkdir -p $(dir $@)
|
|
|
|
${ORGTOMDPRG} $? ${ORGOPTS}
|
|
|
|
|
2022-08-08 13:07:50 +03:00
|
|
|
.PHONY: markdown-files
|
|
|
|
markdown-files: docs/md/README.md docs/md/changelog.md $(MDFILES)
|
|
|
|
|
2022-05-20 17:16:16 +03:00
|
|
|
.PHONY: markdown-docs
|
2023-01-24 19:21:35 +03:00
|
|
|
markdown-docs: cargo-dependencies markdown-files
|
2022-07-06 15:23:13 +03:00
|
|
|
@echo "copying assets ..."
|
2023-01-17 20:11:59 +03:00
|
|
|
@mkdir -p docs/md/assets/images
|
|
|
|
@cp -v $(IMAGES) docs/md/assets/images/
|
2022-08-03 15:44:48 +03:00
|
|
|
@mdbook build
|
2022-05-20 17:16:16 +03:00
|
|
|
|
|
|
|
.PHONY: serve-docs
|
2022-08-08 13:07:50 +03:00
|
|
|
serve-docs: markdown-files
|
2022-08-03 15:44:48 +03:00
|
|
|
@mdbook serve --open
|
2021-09-26 19:59:51 +03:00
|
|
|
|
2023-01-24 19:21:35 +03:00
|
|
|
|
|
|
|
cargo-dependencies:
|
|
|
|
@cargo install mdbook \
|
|
|
|
mdbook-katex \
|
|
|
|
mdbook-linkcheck \
|
|
|
|
mdbook-toc
|
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
# -- Codebase Documentation
|
2021-09-26 19:59:51 +03:00
|
|
|
|
2021-12-04 16:17:49 +03:00
|
|
|
.PHONY : haddock
|
|
|
|
haddock :
|
2022-08-03 15:44:48 +03:00
|
|
|
@cabal --docdir=docs/ --htmldir=docs/ haddock --enable-documentation
|
2021-12-04 16:17:49 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# -- Codebase Health
|
|
|
|
# ------------------------------------------------------------------------------
|
2021-09-26 19:59:51 +03:00
|
|
|
|
Update CI to install Smoke, Github actions, and Makefile fixes (#1735)
This PR adds some maintenance at different levels to the CI config, the
Make file, and formatting.
- Most of the actions used by the CI related to haskell, ormolu, hlint
and pre-commit have been updated because Github requires NodeJS 16. This
change removes all the old warnings related to nodeJs.
In the case of ormolu, the new version makes us format some files that
were not formatted before, similarly with hlint.
- The CI has been updated to use the latest version of the Smoke testing
framework, which introduced installation of the dependencies for Linux
(libicu66) and macOS (icu4c) in the CI. In the case of macOS, the CI
uses a binary for smoke. For Linux, we use stack to build smoke from the
source. The source here is in a fork of [the official Smoke
repo](https://github.com/SamirTalwar/smoke). Such includes some
features/changes that are not yet in the official repo.
- The Makefile runs the ormolu and hlint targets using as a path for the
binaries the environment variables ORMOLU and HLINT. Thus, export those
variables in your environment before running `make check,` `make format`
or `make hlint`. Otherwise, the Makefile will use the binaries provided
by `stack`.
Co-authored-by: Paul Cadman <git@paulcadman.dev>
2023-01-24 13:50:23 +03:00
|
|
|
ORMOLU?=stack exec -- ormolu
|
2022-08-03 15:44:48 +03:00
|
|
|
ORMOLUFILES = $(shell git ls-files '*.hs' '*.hs-boot' | grep -v '^contrib/')
|
|
|
|
ORMOLUFLAGS?=--no-cabal
|
|
|
|
ORMOLUMODE?=inplace
|
2022-07-08 14:59:45 +03:00
|
|
|
|
2022-11-03 11:38:09 +03:00
|
|
|
.PHONY: format
|
|
|
|
format: clang-format
|
2023-01-27 14:45:38 +03:00
|
|
|
@${ORMOLU} ${ORMOLUFLAGS} \
|
2022-08-03 15:44:48 +03:00
|
|
|
--ghc-opt -XStandaloneDeriving \
|
|
|
|
--ghc-opt -XUnicodeSyntax \
|
|
|
|
--ghc-opt -XDerivingStrategies \
|
|
|
|
--ghc-opt -XMultiParamTypeClasses \
|
|
|
|
--ghc-opt -XTemplateHaskell \
|
|
|
|
--ghc-opt -XImportQualifiedPost \
|
|
|
|
--mode ${ORMOLUMODE} \
|
|
|
|
$(ORMOLUFILES)
|
2022-05-05 17:21:04 +03:00
|
|
|
|
2022-11-03 11:38:09 +03:00
|
|
|
.PHONY: clang-format
|
|
|
|
clang-format:
|
Update CI to install Smoke, Github actions, and Makefile fixes (#1735)
This PR adds some maintenance at different levels to the CI config, the
Make file, and formatting.
- Most of the actions used by the CI related to haskell, ormolu, hlint
and pre-commit have been updated because Github requires NodeJS 16. This
change removes all the old warnings related to nodeJs.
In the case of ormolu, the new version makes us format some files that
were not formatted before, similarly with hlint.
- The CI has been updated to use the latest version of the Smoke testing
framework, which introduced installation of the dependencies for Linux
(libicu66) and macOS (icu4c) in the CI. In the case of macOS, the CI
uses a binary for smoke. For Linux, we use stack to build smoke from the
source. The source here is in a fork of [the official Smoke
repo](https://github.com/SamirTalwar/smoke). Such includes some
features/changes that are not yet in the official repo.
- The Makefile runs the ormolu and hlint targets using as a path for the
binaries the environment variables ORMOLU and HLINT. Thus, export those
variables in your environment before running `make check,` `make format`
or `make hlint`. Otherwise, the Makefile will use the binaries provided
by `stack`.
Co-authored-by: Paul Cadman <git@paulcadman.dev>
2023-01-24 13:50:23 +03:00
|
|
|
@cd runtime && ${MAKE} format
|
2022-11-03 11:38:09 +03:00
|
|
|
|
2023-01-25 15:52:04 +03:00
|
|
|
TOFORMATJUVIXFILES = ./examples
|
|
|
|
TOFORMAT = $(shell find ${TOFORMATJUVIXFILES} -name "*.juvix" -print)
|
|
|
|
|
|
|
|
.PHONY: $(TOFORMAT)
|
|
|
|
juvix-format: $(TOFORMAT)
|
|
|
|
$(TOFORMAT): %:
|
|
|
|
@echo "Formatting $@"
|
|
|
|
@juvix dev scope $@ --with-comments > $@.tmp
|
|
|
|
@mv $@.tmp $@
|
|
|
|
@echo "Typechecking formatted $@"
|
|
|
|
@juvix typecheck $@ --only-errors
|
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
.PHONY: check-ormolu
|
|
|
|
check-ormolu: export ORMOLUMODE = check
|
|
|
|
check-ormolu:
|
Update CI to install Smoke, Github actions, and Makefile fixes (#1735)
This PR adds some maintenance at different levels to the CI config, the
Make file, and formatting.
- Most of the actions used by the CI related to haskell, ormolu, hlint
and pre-commit have been updated because Github requires NodeJS 16. This
change removes all the old warnings related to nodeJs.
In the case of ormolu, the new version makes us format some files that
were not formatted before, similarly with hlint.
- The CI has been updated to use the latest version of the Smoke testing
framework, which introduced installation of the dependencies for Linux
(libicu66) and macOS (icu4c) in the CI. In the case of macOS, the CI
uses a binary for smoke. For Linux, we use stack to build smoke from the
source. The source here is in a fork of [the official Smoke
repo](https://github.com/SamirTalwar/smoke). Such includes some
features/changes that are not yet in the official repo.
- The Makefile runs the ormolu and hlint targets using as a path for the
binaries the environment variables ORMOLU and HLINT. Thus, export those
variables in your environment before running `make check,` `make format`
or `make hlint`. Otherwise, the Makefile will use the binaries provided
by `stack`.
Co-authored-by: Paul Cadman <git@paulcadman.dev>
2023-01-24 13:50:23 +03:00
|
|
|
@${MAKE} format
|
|
|
|
|
|
|
|
HLINT?=stack exec -- hlint
|
|
|
|
HLINTFLAGS?=
|
|
|
|
HLINTQUIET :=
|
2022-03-25 02:50:18 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
.PHONY : hlint
|
|
|
|
hlint :
|
Update CI to install Smoke, Github actions, and Makefile fixes (#1735)
This PR adds some maintenance at different levels to the CI config, the
Make file, and formatting.
- Most of the actions used by the CI related to haskell, ormolu, hlint
and pre-commit have been updated because Github requires NodeJS 16. This
change removes all the old warnings related to nodeJs.
In the case of ormolu, the new version makes us format some files that
were not formatted before, similarly with hlint.
- The CI has been updated to use the latest version of the Smoke testing
framework, which introduced installation of the dependencies for Linux
(libicu66) and macOS (icu4c) in the CI. In the case of macOS, the CI
uses a binary for smoke. For Linux, we use stack to build smoke from the
source. The source here is in a fork of [the official Smoke
repo](https://github.com/SamirTalwar/smoke). Such includes some
features/changes that are not yet in the official repo.
- The Makefile runs the ormolu and hlint targets using as a path for the
binaries the environment variables ORMOLU and HLINT. Thus, export those
variables in your environment before running `make check,` `make format`
or `make hlint`. Otherwise, the Makefile will use the binaries provided
by `stack`.
Co-authored-by: Paul Cadman <git@paulcadman.dev>
2023-01-24 13:50:23 +03:00
|
|
|
${HLINT} ${HLINTFLAGS} app ${HLINTQUIET}
|
|
|
|
${HLINT} ${HLINTFLAGS} src ${HLINTQUIET}
|
|
|
|
${HLINT} ${HLINTFLAGS} test ${HLINTQUIET}
|
2021-09-26 19:59:51 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
PRECOMMIT := $(shell command -v pre-commit 2> /dev/null)
|
2021-10-26 15:44:54 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
.PHONY : install-pre-commit
|
|
|
|
install-pre-commit :
|
|
|
|
@$(if $(PRECOMMIT),, pip install pre-commit)
|
2021-10-30 12:51:42 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
.PHONY : pre-commit
|
|
|
|
pre-commit :
|
|
|
|
@pre-commit run --all-files
|
2022-03-23 13:40:03 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# -- Build-Install-Test-Release
|
|
|
|
# ------------------------------------------------------------------------------
|
2022-05-05 17:21:04 +03:00
|
|
|
|
2022-11-03 11:38:09 +03:00
|
|
|
STACKFLAGS?=--jobs $(THREADS)
|
2022-12-22 17:28:58 +03:00
|
|
|
STACKTESTFLAGS?=--ta --hide-successes --ta --ansi-tricks=false
|
2023-01-10 14:49:56 +03:00
|
|
|
SMOKEFLAGS?=--color --diff=git
|
2022-05-05 16:12:17 +03:00
|
|
|
|
2023-01-30 14:06:18 +03:00
|
|
|
.PHONY: check-only
|
|
|
|
check-only:
|
2022-12-22 17:28:58 +03:00
|
|
|
@${MAKE} build
|
|
|
|
@${MAKE} install
|
|
|
|
@${MAKE} test
|
2023-01-10 14:49:56 +03:00
|
|
|
@${MAKE} smoke
|
2023-01-25 15:52:04 +03:00
|
|
|
@${MAKE} juvix-format
|
2022-12-22 17:28:58 +03:00
|
|
|
@${MAKE} format
|
|
|
|
@${MAKE} pre-commit
|
2022-03-25 02:50:18 +03:00
|
|
|
|
2023-01-30 14:06:18 +03:00
|
|
|
.PHONY: check
|
|
|
|
check: clean
|
|
|
|
@${MAKE} check-only
|
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
# -- Build requirements
|
2022-06-09 17:36:07 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
.PHONY: submodules
|
|
|
|
submodules:
|
|
|
|
@git submodule sync
|
|
|
|
@git submodule update --init --recursive
|
2022-06-09 17:36:07 +03:00
|
|
|
|
2022-11-03 11:38:09 +03:00
|
|
|
.PHONY: build
|
|
|
|
build: submodules runtime
|
2022-08-03 15:44:48 +03:00
|
|
|
stack build ${STACKFLAGS}
|
2022-03-25 02:50:18 +03:00
|
|
|
|
2022-11-03 11:38:09 +03:00
|
|
|
.PHONY: fast-build
|
|
|
|
fast-build: submodules runtime
|
|
|
|
stack build --fast ${STACKFLAGS}
|
|
|
|
|
|
|
|
.PHONY: runtime
|
|
|
|
runtime:
|
2023-01-17 20:11:59 +03:00
|
|
|
cd runtime && make -j 4 -s
|
2022-11-03 11:38:09 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
# -- Install
|
2022-04-04 16:55:15 +03:00
|
|
|
|
2022-03-23 14:13:28 +03:00
|
|
|
.PHONY : install
|
2022-11-03 11:38:09 +03:00
|
|
|
install: runtime submodules
|
2022-08-03 15:44:48 +03:00
|
|
|
@stack install ${STACKFLAGS}
|
2021-10-26 15:44:54 +03:00
|
|
|
|
2022-11-03 11:38:09 +03:00
|
|
|
.PHONY : fast-install
|
|
|
|
fast-install: runtime submodules
|
|
|
|
@stack install --fast ${STACKFLAGS}
|
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
# -- Testing
|
2022-07-15 14:52:16 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
.PHONY : test
|
|
|
|
test: build
|
2022-12-22 17:28:58 +03:00
|
|
|
@stack test ${STACKFLAGS} ${STACKTESTFLAGS}
|
2022-07-15 14:52:16 +03:00
|
|
|
|
2022-11-03 11:38:09 +03:00
|
|
|
.PHONY : fast-test
|
|
|
|
fast-test: fast-build
|
2022-12-22 17:28:58 +03:00
|
|
|
@stack test --fast ${STACKFLAGS} ${STACKTESTFLAGS}
|
2022-11-03 11:38:09 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
.PHONY : test-skip-slow
|
|
|
|
test-skip-slow:
|
2022-12-22 17:28:58 +03:00
|
|
|
@stack test ${STACKFLAGS} ${STACKTESTFLAGS} --ta '-p "! /slow tests/"'
|
2022-04-05 20:57:21 +03:00
|
|
|
|
2022-11-03 11:38:09 +03:00
|
|
|
.PHONY : fast-test-skip-slow
|
|
|
|
fast-test-skip-slow:
|
2022-12-22 17:28:58 +03:00
|
|
|
@stack test --fast ${STACKFLAGS} ${STACKTESTFLAGS} --ta '-p "! /slow tests/"'
|
2022-11-03 11:38:09 +03:00
|
|
|
|
2023-01-10 14:49:56 +03:00
|
|
|
SMOKE := $(shell command -v smoke 2> /dev/null)
|
2022-04-04 16:55:15 +03:00
|
|
|
|
2023-01-24 18:15:24 +03:00
|
|
|
.PHONY : smoke-only
|
|
|
|
smoke-only:
|
2023-03-14 18:24:07 +03:00
|
|
|
@$(if $(SMOKE),, $(error "Smoke not found, please install it from https://github.com/jonaprieto/smoke"))
|
Update CI to install Smoke, Github actions, and Makefile fixes (#1735)
This PR adds some maintenance at different levels to the CI config, the
Make file, and formatting.
- Most of the actions used by the CI related to haskell, ormolu, hlint
and pre-commit have been updated because Github requires NodeJS 16. This
change removes all the old warnings related to nodeJs.
In the case of ormolu, the new version makes us format some files that
were not formatted before, similarly with hlint.
- The CI has been updated to use the latest version of the Smoke testing
framework, which introduced installation of the dependencies for Linux
(libicu66) and macOS (icu4c) in the CI. In the case of macOS, the CI
uses a binary for smoke. For Linux, we use stack to build smoke from the
source. The source here is in a fork of [the official Smoke
repo](https://github.com/SamirTalwar/smoke). Such includes some
features/changes that are not yet in the official repo.
- The Makefile runs the ormolu and hlint targets using as a path for the
binaries the environment variables ORMOLU and HLINT. Thus, export those
variables in your environment before running `make check,` `make format`
or `make hlint`. Otherwise, the Makefile will use the binaries provided
by `stack`.
Co-authored-by: Paul Cadman <git@paulcadman.dev>
2023-01-24 13:50:23 +03:00
|
|
|
@smoke $(shell find tests -name '*.smoke.yaml')
|
2022-04-04 16:55:15 +03:00
|
|
|
|
2023-01-24 18:15:24 +03:00
|
|
|
.PHONY : smoke
|
|
|
|
smoke: install submodules
|
|
|
|
@${MAKE} smoke-only
|
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
# -- Release
|
2022-05-04 15:06:29 +03:00
|
|
|
|
2022-08-03 15:44:48 +03:00
|
|
|
.PHONY : changelog-updates
|
|
|
|
changelog-updates :
|
|
|
|
@github_changelog_generator
|
|
|
|
@pandoc CHANGELOG.md --from markdown --to org -o UPDATES-FOR-CHANGELOG.org
|
2023-01-05 19:48:26 +03:00
|
|
|
|
|
|
|
.PHONY : bench
|
|
|
|
bench: runtime submodules
|
|
|
|
@stack bench
|