Commit Graph

754 Commits

Author SHA1 Message Date
Simon Michael
0818c44a6c tools: make buildtimes*: switch to GHC 9.2, add unoptimised variants
On mac m1, 9.2 builds almost 3x faster than 9.0,
and building unoptimised gives another 2x speedup.
2022-03-25 11:49:52 -10:00
Simon Michael
0c9829d004 tools: make buildtimes*: also build hledger executable 2022-03-25 09:01:30 -10:00
Simon Michael
0b53035c7a tools: make buildtimes-cabal: show times without double compilation 2022-03-25 08:19:17 -10:00
Simon Michael
9b2bed8e41 tools: make buildtimes: show GHC codegen times 2022-03-25 07:42:28 -10:00
Stephen Morgan
bcaa6ac3c8 test: Run all tests with --fast compilation, not just functests. 2022-01-26 08:10:59 -10:00
Simon Michael
3135753e94 tools: make: clean up stack command defs 2022-01-21 17:33:19 -10:00
Simon Michael
8d31f21502 ;tools: make stack fixes 2022-01-06 08:23:57 -10:00
Simon Michael
88f34063c7 ;dev: make functest-*: fix hardcoded stack 2021-12-21 12:18:57 -10:00
Simon Michael
cfebbe79f3 ;dev: make: use ghc 8.10 till 9.x has arm binaries 2021-12-16 15:33:09 -10:00
Simon Michael
839ebc18a8 dev: make hackageupload: do it only from a release branch
To avoid mishaps like yesterday's upload of 1.24.99, this will now
only work from a branch named VERSION-branch or (possible future
naming) VERSION-release.

This means major releases from master are no longer allowed; a release
branch is always required,
2021-12-11 08:52:33 -10:00
Simon Michael
16124eba14 dev: move commitlint to tools, keeping bin/ for user tools 2021-12-10 16:52:19 -10:00
Simon Michael
1ef8f329c6 lib: simpler more robust version strings, with date/without patchlevel
We no longer rely on git tags and git describe output, since it's
hard to reliably select the correct tag eg for minor releases.
We might use them again in future for dev builds, but it requires
adding git describe --match support to githash. For now,

* Program name, OS and architecture are always shown.
* The package version is always shown.
* If there is git info at build time, the latest commit hash and commit date are shown.

Example outputs:
A homebrew binary, not built in git repo: hledger-ui 1.24, mac-aarch64
A CI release build, built in git repo:    hledger 1.24.1-g455b35293-20211210, mac-x86_64

API changes:

* new type synonyms ProgramName, PackageVersion, VersionString
* versionStringForProgname -> versionString with extra argument
* versionStringFor -> versionStringWith with extra argument
2021-12-10 12:42:40 -10:00
Simon Michael
46cc60779d ;dev: make throughput: output tweak 2021-12-09 12:24:19 -10:00
Simon Michael
bb249115ba dev: make ghci[d]-ui uses ghc 8.10 to avoid 9.0 failures 2021-12-08 16:57:42 -10:00
Simon Michael
35c1c9b6a2 pkg: progress towards supporting GHC 9.2 and newer libs (#1774)
hledger-lib builds, hledger's deps don't (shakespeare).
2021-12-06 12:32:50 -10:00
Simon Michael
915136a599 ;tools: make throughput-dev 2021-11-26 07:20:39 -10:00
Simon Michael
8d618f0821 ;tools: make throughput[-EXE] improvements 2021-11-26 07:13:20 -10:00
Simon Michael
f469785c97 ;imp: tools: make throughput 2021-11-20 22:55:16 -10:00
Simon Michael
fc8e482de5 ;make: install-as-FOO: build executables and save as bin/hledger*-FOO 2021-10-03 22:55:10 -10:00
Simon Michael
b63d1b84de ;make: site: revert 2021-09-27 12:17:11 -10:00
Simon Michael
5b437ea20d ;tools: make site(-watch): add orgfiles 2021-09-25 12:57:38 -10:00
Simon Michael
14c19c398b ;tools: make copy-exe*: name them -SUFF not .SUFF
Breaks my usual convention of hledger-foo being an addon command, but
-VERSION is too common (and matches the make target that you type).
2021-09-22 12:13:50 -10:00
Simon Michael
e6b25bf9f3 ;tools: revert "make site" for now 2021-09-19 07:53:04 -10:00
Simon Michael
87b532b43d ;imp: tools: ./Shake site builds the website 2021-09-19 06:59:51 -10:00
Simon Michael
09f403dfd8 ;imp: make: copy-bins-to-VER -> copy-exe[s]-VER 2021-09-19 06:34:17 -10:00
Simon Michael
173d69647d ;fix: make help-copy-bins-to: fix help 2021-09-18 12:44:44 -10:00
Simon Michael
aba4a5d37f ;make: site-watch: update 2021-08-24 10:46:57 -10:00
Simon Michael
95d38ed796 ;make: site: fix, mention make hledgerorg 2021-08-24 10:22:38 -10:00
Simon Michael
2c96e6f1ff ;make: list-commits, showauthors 2021-08-20 09:53:12 -10:00
Simon Michael
31541bb98b ;make: tag-project: tag .99 only after major release 2021-08-07 09:17:13 -10:00
Simon Michael
000ff30fd6 ;make: tag-project: that .99 tag should be on master, only 2021-08-05 23:38:23 -10:00
Simon Michael
45c39b055b ;make: tag-project: also set a final .99 tag
This will influence git describe and improve the version strings of dev builds.
2021-08-05 23:27:25 -10:00
Simon Michael
a613886026 ;make: ghci-web[-test]: fix broken dep 2021-08-03 22:12:19 -10:00
Simon Michael
e9d3283d18 ;make: installcommithook 2021-07-28 10:03:26 -10:00
Simon Michael
fa3ce17fd3 cln: make: webdirs: rename, hide subrules from help 2021-07-20 21:31:57 -10:00
Simon Michael
9701e19169 make: shellcompletions: top level rule to build shell completions 2021-07-20 21:29:52 -10:00
Simon Michael
544bfd2090 ;make: nix-view-commits: update url 2021-07-07 13:19:29 -10:00
Simon Michael
f30cea32b9 ;make bench: fix on non-mac 2021-06-16 08:25:52 -10:00
Simon Michael
069e672a5c ;tools: update instructions for installing quickbench 2021-06-15 15:19:38 -10:00
Simon Michael
5ff6e0b618 ;make copy-bins-to-X: use period instead of hyphen 2021-03-17 18:15:09 -07:00
Simon Michael
e0d525c6fa ;make tag: simplify 2021-03-10 11:55:20 -08:00
Simon Michael
765ab0772e ;make functest: bump threads from 16 to 64
Runs them faster on machines with more cores (eg 22s -> 15s),
should be harmless elsewhere.
2021-01-29 12:09:02 -08:00
Simon Michael
fa5c270074 ;make functest: drop the timeout, it makes tests too unreliable 2021-01-29 11:51:40 -08:00
Simon Michael
4332893d1f ;make cabal*: drop this wildcard rule
(cherry picked from commit 1551988629)
2021-01-13 15:04:58 -08:00
Simon Michael
5842d47adc ;make functest: increase timeout to 30s, strangely unreliable at 10s 2021-01-04 18:11:01 -08:00
Simon Michael
5484c55053 ;make functest-PAT: don't hide successes in this mode 2021-01-04 15:45:58 -08:00
Simon Michael
14e12b83dc ;make functest*: $FUNCTESTEXE can override executable
Eg:
$ FUNCTESTEXE=hledger-1.20 make functest
2021-01-04 15:45:58 -08:00
Simon Michael
291c032195 ;make functest: add a 10s timeout to catch slow/hung tests 2021-01-04 15:28:52 -08:00
Simon Michael
0f275c7b41 ;make functest: hide successes again 2021-01-04 15:28:09 -08:00
Simon Michael
06b466d847 ci: also test compilation of bin/ add-on scripts 2020-12-30 08:59:03 -08:00